2

我什至不确定这是否可能,但这是我面临的问题。

基本上我有一个强类型的方法如下

ConsoleHelper.Start<T>() where T:IService

我想要实现的是使用反射动态加载 T ,所以沿着线

var type = Assembly.Load("assembly").GetType("type");

然后将该类型与上面定义的强类型方法一起使用。这是可能吗?

4

1 回答 1

4

当然,您可以使用MethodInfo.MakeGenericMethod来执行此操作。

var startMethod = typeof(ConsoleHelper).GetMethod("Start");

// Equivalent of Start<SomeType>
var typedStartMethod = startMethod.MakeGenericMethod(typeof(SomeType));
于 2012-09-07T00:49:14.770 回答