我甚至不确定这是否可行,但这是我面临的问题。
基本上我有一个强类型的方法如下
ConsoleHelper.Start<T>() where T:IService
我想要实现的是使用反射动态加载T,所以
行var type = Assembly.Load("assembly").GetType("type");
然后使用上面定义的强类型方法的类型。这有可能吗?
答案 0 :(得分:4)
当然,您可以使用MethodInfo.MakeGenericMethod来执行此操作。
var startMethod = typeof(ConsoleHelper).GetMethod("Start");
// Equivalent of Start<SomeType>
var typedStartMethod = startMethod.MakeGenericMethod(typeof(SomeType));