如何在VB中为类型参数设置特性?C#转VB编译失败求助
VB中为泛型类型参数设置特性的正确写法
要将你给出的C#代码转换为有效的VB代码,关键要注意特性的位置以及与类型参数的格式分隔,正确写法如下:
Public Shared Sub Method2(Of <DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)> T)() Dim type As Type = GetType(T) Method3(type) End Sub
你尝试的两种写法无法编译的原因:
- 第一种写法中,特性标记
<DynamicallyAccessedMembers(...)>和类型参数T之间没有空格,编译器无法正确识别T作为泛型类型参数; - 第二种写法将特性放在
Of关键字之前,不符合VB泛型特性的语法规则——特性必须置于Of之后、对应类型参数之前。
内容的提问来源于stack exchange,提问作者Christoph
相关产品推荐
相关产品推荐

