在VB.NET/C#中调用泛型函数

Ste*_*ger 5 .net c# vb.net asp.net generics

问题:我想调用泛型函数,定义如下:

      Public Shared Function DeserializeFromXML(Of T)(Optional ByRef strFileNameAndPath As String = Nothing) As T
Run Code Online (Sandbox Code Playgroud)

现在,当我打电话给它时,我想用下面的任何变体来做:

Dim x As New XMLserialization.cConfiguration
x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of x)()
x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(GetType(x))()
x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of GetType(x))()
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我发现打字非常烦人且不可读

    x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of XMLserialization.cConfiguration)()
Run Code Online (Sandbox Code Playgroud)

有没有办法通过从实例中获取类型来调用泛型函数?

Dav*_*d M 2

仅使用命名空间的方法System.Reflection,这对于您试图节省的精力来说确实不值得。