如何将C#对象强制转换写法转换为VB.NET对应写法?附代码示例
C#转VB.NET类型转换写法问题解答
- 你当前的转换写法完全正确,不存在语法或逻辑问题:
你给出的C#语句存在输入笔误,实际应为C#强制类型转换写法((PDFPageDirectDestination)gotoAction.Destination).Page = destinationPage,你使用DirectCast实现对应转换的逻辑完全符合VB.NET语法规范,和C#原生强制类型转换的运行时行为一致,都会在类型不匹配时抛出InvalidCastException,功能完全对齐。 - 可优化的简化写法:
由于你已经显式将gotoAction.Destination赋值为PDFPageDirectDestination类型的实例,完全可以省略多余的类型转换步骤,代码更简洁高效,替换原转换相关的两行代码即可:Dim directDest As New PDFPageDirectDestination() With { .Page = destinationPage } gotoAction.Destination = directDest - 可选的安全转换方案:
如果后续遇到gotoAction.Destination类型不确定的场景,可以改用TryCast做安全转换,避免运行时抛出异常:Dim directDest = TryCast(gotoAction.Destination, PDFPageDirectDestination) If directDest IsNot Nothing Then directDest.Page = destinationPage End If
内容的提问来源于stack exchange,提问作者Mr Ambitious
相关产品推荐
相关产品推荐

