Рейтинг@Mail.ru

Машинное обучение с помощью технологии ML.NET на VB.NET

Опубликовано в Программирование

Все примеры по машинному обучению с помощью Microsoft ML.NET даются на языке C#. Мы же напишем наше первое приложение по машинному обучению с помощью технологии ML.NET на языке Visual Basic .NET.
Подробнее ...

Параметры проекта по умолчанию в Visual Studio

Опубликовано в Полезные советы

Рекомендую при написании кода в Visual Studio на VB.NET всегда использовать жёсткую проверку соответствия типов, которая задаётся директивой Option Strict. При создании нового проекта с настройками среды по умолчанию, используется нестрогая проверка. Чтобы каждый раз не менять данную директиву в свойствах проекта, её можно поменять в настройках Visual Studio: Options — Projects and Solutions — VB Defaults — Option Strict

Настройки по умолчанию для новых проектов, создаваемых в Visual Studio
Настройки по умолчанию для новых проектов, создаваемых в Visual Studio
Подробнее ...

Добавление заданного текста к содержимому RichTextBox (WPF)

Опубликовано в Полезные советы

Напишем метод, который добавляет к содержимому расширенного текстового поля RichTextBox текст заданного цвета:

Private Sub AppendText(text As String, color As Color)
    With RichTextBox1
            .SelectionStart = RichTextBox1.TextLength
            .SelectionLength = 0
            .SelectionColor = color
            .AppendText(text)
            .SelectionColor = .ForeColor
    End With
End Sub
Подробнее ...

Использование нескольких конструкторов в одном блоке Using (VB.NET)

Опубликовано в Полезные советы

В Visual Basic .NET есть такая, довольно часто встречающаяся, конструкция:

Using fs As New FileStream(fi.FullName, FileMode.Open)
    Using sr As New StreamReader(fs, Text.Encoding.GetEncoding(1251))
	'...
    End Using
End Using

Для неё есть удобный сокращённый синтаксис:

Using fs As New FileStream(fi.FullName, FileMode.Open), sr As New StreamReader(fs, Text.Encoding.GetEncoding(1251))
    '...
End Using
Подробнее ...

Проверка значений, вводимых в поле TextBox, в XAML

Опубликовано в Полезные советы

В WPF имеется специальный стандартный механизм, позволяющий выполнять проверку (валидацию) данных, вводимых пользователем в текстовое поле TextBox. Этот механизм называется правилами проверки (validation rule). Для полей ввода, в которые введены недопустимые значения, в WPF даже определён свой стиль: красная рамка вокруг элемента TextBox. Конечно, его можно переопределить.

Чтобы воспользоваться стандартным валидатором, нужно выполнить три простых шага. Давайте рассмотрим их на таком примере: есть свойство MyProperty типа Integer, и его значение должно лежать в границах от 1 до 10.

1) Сначала создаём класс, который является наследником класса ValidationRule:

Подробнее ...

Объединение строк с помощью заданного символа

Опубликовано в Полезные советы

Зачастую бывает необходимо объединить несколько строк с помощью какого-то символа. Например, при формировании строки таблицы для записи в текстовый файл. Можно, разумеется, делать это с помощью конкатенации явно, а можно воспользоваться статическим методом String.Join():

String.Join("-", {"A", "B", "C", "D"})

Результатом выполнения этого когда, как не сложно догадаться, будет строка "A-B-C-D". В качестве разделителя может выступать как один символ, так и целая строка, состоящая из нескольких символов.

Подробнее ...

Переопределение явного приведения типов в VB.NET

Опубликовано в Полезные советы

Среда .NET позволяет переопределять стандартные операторы. В частности, оператор CType(). Однако большинство примеров даются на языке C#. Чтобы переопределить оператор CType() в языке VB.NET, нужно поступить следующим образом:

Public Shared Widening Operator CType(m As MyClass) As String
	Return $"Это тип {m.GetType()} приведён к типу System.String."
End Operator

Здесь ключевое слово widening является указанием на то, что данное преобразование типов является расширяющим преобразованием (в отличие от narrowing – сужающего). Это значит, что при выполнении данного преобразования мы не потеряем данные, и оно может быть выполнено безопасно.

Замечу, что нельзя приводить тип к своему базовому классу, и наоборот: базовый – к дочернему.

Подробнее ...
Подписаться на этот канал RSS