【问题标题】:What is the C# equivalent of CType in VB.NET?VB.NET 中 CType 的 C# 等价物是什么?
【发布时间】:2011-05-23 11:38:46
【问题描述】:

我正在尝试将 MSDN 文章 Creating Dynamic Data Entry User Interfaces 中提供的示例转换为 C#,但卡在以下代码中:

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

如何将上述 VB.NET 语句转换为 C#?

【问题讨论】:

  • @Joel:我认为这个问题最终包括这个问题的答案,但表面上是关于DirectCast 而不是CType,所以我不投票关闭。
  • @Cody Gray - 这正是我投票关闭的原因。通过搜索他的问题,我能够找到一个包含他的答案的问题。虽然问题本身可能不是“完全”重复的,但他寻求的信息就在那里。

标签: casting equivalent vb.net-to-c# ctype


【解决方案1】:

在 C# 中,您可以通过将要转换为的类型放在要转换的引用变量 ((type)instance) 前面的括号中来指定转换。

因此,要将对象 (dq) 转换为 IUIBuildingBlock 类型,您可以使用以下代码:

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

(请注意,如果对未实现 IUIBuildingBlock 的对象进行强制转换,则会抛出异常,但 CType 也会抛出异常,所以我认为这不是问题。)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 2012-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
相关资源
最近更新 更多