这就是正在发生的事情。我有一个名为“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/