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

标签 c# .net asp.net vb.net generics

问题:我想调用一个泛型函数,定义为:

      Public Shared Function DeserializeFromXML(Of T)(Optional ByRef strFileNameAndPath As String = Nothing) As T

现在当我调用它时,我想用下面的任何变体来调用它:

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))()

但它不起作用。 我发现必须输入

非常烦人且不可读
    x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of XMLserialization.cConfiguration)()

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

最佳答案

我觉得您想为您的 XMLserialization.cConfiguration 类型创建一个较短的别名。尝试使用 Imports 语句来完成此操作:

' at the top of the file
Imports C = XMLserialization.cConfiguration

' somewhere in the body of the file
Dim x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of C)()

关于c# - 在 VB.NET/C# 中调用泛型函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957651/

相关文章:

.net - 选择时更改 TreeViewItem 的模板

c# - XmlSerializer - 将不同元素反序列化为相同元素的集合

c# - 通过 UseUrls 指定监听 HTTP 端口的方式是否正确?

c# - 如何使用实用程序类管理 SQL 连接?

javascript - KendoUI TreeView 尝试向 Poco 添加脏属性并获取 Uncaught TypeError : e. slice 不是函数

c# - 我如何从 JSON 字符串中获取值

c# - 在 .NET 中将多个非 SELECT MySQL 语句作为单个命令文本执行

c# - 强类型 Linq 过滤方法

c# - 如何从图像中复制片段?

javascript - 如何在服务器端获取客户端变量的值