castingequivalentvb.net-to-c#ctype

What is the C# equivalent of CType in VB.NET?


I am trying to convert the example provided in MSDN article Creating Dynamic Data Entry User Interfaces to C#, but am stuck at the following code:

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

How do I convert the above VB.NET statement to C#?


Solution

  • In C#, you can specify a cast by putting the type you want to cast to in parenthesis in front of the reference variable that you want to cast ((type)instance).

    So, to cast the object (dq) to the type IUIBuildingBlock, you could use the following code:

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

    (Note that this will throw an exception if the cast is done on an object that doesn't implement IUIBuildingBlock, but so will CType, so I assume that is not a problem.)