我想在MSDN文章Creating Dynamic Data Entry User Interfaces到C#提供的示例進行轉換,但我被困在下面的代碼:什麼是VB.NET中的CType的C#等價物?
CType(dq, IUIBuildingBlock).QuestionText = reader("QuestionText")
如何轉換上面的VB.NET語句C#?
我想在MSDN文章Creating Dynamic Data Entry User Interfaces到C#提供的示例進行轉換,但我被困在下面的代碼:什麼是VB.NET中的CType的C#等價物?
CType(dq, IUIBuildingBlock).QuestionText = reader("QuestionText")
如何轉換上面的VB.NET語句C#?
在C#中,您可以通過將想要強制轉換的類型置於要轉換的引用變量((type)instance
)前的圓括號中來指定強制轉換。
因此,對象(dq
)轉換爲類型IUIBuildingBlock
,你可以使用下面的代碼:
((IUIBuildingBlock)dq).QuestionText = reader("QuestionText");
(請注意,這將拋出一個異常,如果中投的對象上做到了不執行IUIBuildingBlock
,但CType
也是如此,所以我認爲這不是問題。)
Thanx科迪。這工作完美! – Girish 2010-12-10 14:56:24
對於那些想了解C#(int)和VB的CINT,以及DirectCast(x,整數)之間區別的人。答案http://stackoverflow.com/questions/3056514/difference-between-directcast-and-ctype-in-vb-net是非常有用的 – 2012-06-27 20:55:31
[C#的等同於VB.Net的DirectCast?]的可能重複(http://stackoverflow.com/questions/2683847/ cs-equivalent-to-vb-nets-directcast) – 2010-12-10 13:23:42
@Joel:我認爲這個問題最終會包含*包括*這個答案,但它表面上是關於'DirectCast'而不是'CType',所以我沒有投票結束。 – 2010-12-10 13:32:36
@Cody Gray - 這正是我投票結束的原因。通過搜索他的問題,我找到了一個包括他的答案。雖然這個問題本身可能不是一個「確切」的重複,但他尋求的信息就在那裏。 – 2010-12-10 14:06:17