c# - 返回未知数据类型

标签 c# generics generic-programming

这就是正在发生的事情。我有一个名为“Load”的方法,它采用各种参数的哈希表并返回在磁盘上序列化的对象。

public static T Load<T>(Hashtable settings){}

当调用加载时,用户传递设置哈希表和他们想要的数据类型。这就是我试图调用它的方式:

var data =DGSave.DGSave.Load<Type.GetType(type.ToString())>(h);

但它不断抛出此错误:

Error CS0019: Operator '<' cannot be applied to operands of type 'method group' and 'System.Type' (CS0019)

我的问题是如何传递使用变量检索的数据类型(在本例中为“类型”)。

抱歉,如果我的解释不清楚,我不擅长解释事情。

最佳答案

您可以通过反射处理 id

var type = typeof(DGSave.DGSave);
var method = type.GetMethod("Load", BindingFlags.Static).MakeGenericMethod(typeof(string));
method.Invoke(null, new object[] {h});

关于c# - 返回未知数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20138842/

相关文章:

C++ 可变参数模板参数迭代

c# - Selenium Find by Css 需要帮助。-

c# - string.Empty.StartsWith(((char)10781).ToString()) 总是返回 true?

c# - 反序列化泛型类型

Delphi 接口(interface)通用函数 - 有解决方法吗?

java - 需要有关 Java 中通配符泛型类型的帮助

c++ - 在知道可调用参数之前如何约束惰性组合?

c# - 使用任意数字键和对象数组值解析嵌套字典

c# - 更改 XmlElement 名称属性

Swift - 通用函数参数