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

1

8

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#?

Dextrality answered 10/12, 2010 at 13:4 Comment(3)
possible duplicate of C#'s equivalent to VB.Net's DirectCast?Loyalist
@Joel: I think that question ends up including the answer to this one, but it's ostensibly about DirectCast rather than CType, so I'm not voting to close.Damask
@Cody Gray - that's precisely why I voted to close. By searching with his question, I was able to find one that included his answer. While the question itself may not be an "exact" duplicate, the information he seeks is there.Loyalist
D
11

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.)

Damask answered 10/12, 2010 at 13:14 Comment(1)
For those wondering about the differences between C# (int), and VB's CINT, and DirectCast(x, integer). The answer to #3057014 is very helpfulCommunicant

© 2022 - 2024 — McMap. All rights reserved.