当在编译时未知类型参数但是在运行时动态获取时,调用泛型方法的最佳方法是什么?
考虑以下示例代码 - 在Example()方法内部,GenericMethod<T>()使用Type存储在myType变量中调用的最简洁方法是什么?
public class Sample
{
public void Example(string typeName)
{
Type myType = FindType(typeName);
// What goes here to call GenericMethod<T>()?
GenericMethod<myType>(); // This doesn't work
// What changes to call StaticMethod<T>()?
Sample.StaticMethod<myType>(); // This also doesn't work
}
public void GenericMethod<T>()
{
// ...
}
public static void StaticMethod<T>()
{
//...
}
}
Run Code Online (Sandbox Code Playgroud) 假设我只有一个泛型的类名作为"MyCustomGenericCollection(MyCustomObjectClass)"形式的字符串,并且不知道它来自哪个汇编,那么创建该对象实例的最简单方法是什么?
如果它有帮助,我知道该类实现了IMyCustomInterface并且来自加载到当前AppDomain的程序集.
Markus Olsson 在这里给出了一个很好的例子,但我不知道如何将它应用于泛型.