Что такое C# эквивалент CType в VB.NET?

Я пытаюсь преобразовать пример, представленный в статье MSDN Создание пользовательских интерфейсов динамического ввода данных, в C#, но застрял в следующем коде:

CType(dq, IUIBuildingBlock).QuestionText = reader("QuestionText")

Как мне преобразовать вышеупомянутый оператор VB.NET в C#?

1 ответ

Решение

В C# вы можете указать приведение, поместив тип, в который вы хотите привести, в круглые скобки перед ссылочной переменной, которую вы хотите привести ( (type)instance ).

Итак, для приведения объекта (dq) к типу IUIBuildingBlock Вы можете использовать следующий код:

((IUIBuildingBlock)dq).QuestionText = reader("QuestionText");

(Обратите внимание, что это вызовет исключение, если приведение выполнено для объекта, который не реализует IUIBuildingBlock, но так будет CType, поэтому я предполагаю, что это не проблема.)

Другие вопросы по тегам