我有这行C#代码,我想改成VB.NET:
public static string functionx<RT>(RT req){}
以下是正确的翻译吗?
Public Function functionx(Of RT)(req As RT) As String
答案 0 :(得分:0)
关闭,但不完全。你需要这个:
Public Shared Function functionx(Of RT)(ByVal req As RT) As String
答案 1 :(得分:0)
要声明通用方法,您需要:
Public Shared Function functionx(Of RT)(ByVal req As RT) As String
我不知道为什么,但你用另一个问题回答了你自己的问题......这是关于VB.NET中的typeof
等价物:
在VB.NET中TypeOf
与C#中的typeof
不完全相同。请参阅MSDN说明:
TypeOf
运算符确定运行时类型是否为 objectexpression与typename兼容。兼容性 取决于typename的类型类别。下表显示 如何确定兼容性。
其语法为TypeOf objectexpression Is typename
,这就是为什么错误表示Is
是预期的。
您应该使用GetType
:
Dim serialzer = New XmlSerializer(GetType(T)).Serialize(writer, req, ns)