返回未知数据类型

时间:2013-11-22 06:53:39

标签: c# generics generic-programming

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

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

调用load时,用户会传递设置哈希表和所需的数据类型。这就是我试图称之为:

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

但它一直在抛出这个错误:

  

错误CS0019:运营商'&lt;'不能应用于'方法组'和'System.Type'类型的操作数(CS0019)

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

对不起,如果我的解释不清楚,我很蠢地解释一下。

1 个答案:

答案 0 :(得分:2)

您可以使用反射处理id

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