Машинное обучение с помощью технологии ML.NET на VB.NET
Published in Программирование
Published in Программирование
Published in Полезные советы
Рекомендую при написании кода в Visual Studio на VB.NET всегда использовать жёсткую проверку соответствия типов, которая задаётся директивой Option Strict. При создании нового проекта с настройками среды по умолчанию, используется нестрогая проверка. Чтобы каждый раз не менять данную директиву в свойствах проекта, её можно поменять в настройках Visual Studio: Options — Projects and Solutions — VB Defaults — Option Strict
Published in Полезные советы
Проверить, является ли класс MyClass2 потомком класса MyClass1, можно так:
GetType(MyClass2).IsSubclassOf(GetType(MyClass1))
Published in Полезные советы
Напишем метод, который добавляет к содержимому расширенного текстового поля 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
Published in Полезные советы
В 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
Published in Полезные советы
В WPF имеется специальный стандартный механизм, позволяющий выполнять проверку (валидацию) данных, вводимых пользователем в текстовое поле TextBox. Этот механизм называется правилами проверки (validation rule). Для полей ввода, в которые введены недопустимые значения, в WPF даже определён свой стиль: красная рамка вокруг элемента TextBox. Конечно, его можно переопределить.
Чтобы воспользоваться стандартным валидатором, нужно выполнить три простых шага. Давайте рассмотрим их на таком примере: есть свойство MyProperty типа Integer, и его значение должно лежать в границах от 1 до 10.
1) Сначала создаём класс, который является наследником класса ValidationRule:
Published in Полезные советы
Зачастую бывает необходимо объединить несколько строк с помощью какого-то символа. Например, при формировании строки таблицы для записи в текстовый файл. Можно, разумеется, делать это с помощью конкатенации явно, а можно воспользоваться статическим методом String.Join():
String.Join("-", {"A", "B", "C", "D"})
Результатом выполнения этого когда, как не сложно догадаться, будет строка "A-B-C-D". В качестве разделителя может выступать как один символ, так и целая строка, состоящая из нескольких символов.
Published in Полезные советы
Среда .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 – сужающего). Это значит, что при выполнении данного преобразования мы не потеряем данные, и оно может быть выполнено безопасно.
Замечу, что нельзя приводить тип к своему базовому классу, и наоборот: базовый – к дочернему.