将函数<t>从C#转换为VB.NET </t>

时间:2014-12-25 01:51:39

标签: c# vb.net

我有这行C#代码,我想改成VB.NET:

public static string functionx<RT>(RT req){}

以下是正确的翻译吗?

Public Function functionx(Of RT)(req As RT) As String

2 个答案:

答案 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)