Что такое 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
, поэтому я предполагаю, что это не проблема.)