Что такое C # эквивалент CType в VB.NET? - PullRequest
7 голосов
/ 10 декабря 2010

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

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

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

1 Ответ

9 голосов
/ 10 декабря 2010

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

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

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

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

...