Рейтинг@Mail.ru

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

Print Friendly, PDF & Email

Среда .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 – сужающего). Это значит, что при выполнении данного преобразования мы не потеряем данные, и оно может быть выполнено безопасно.

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

Теги :

Поделиться

Print Friendly, PDF & Email