使用强类型方法的类型对象

时间:2012-09-07 00:42:23

标签: c# reflection strong-typing

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

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

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

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

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

然后使用上面定义的强类型方法的类型。这有可能吗?

1 个答案:

答案 0 :(得分:4)

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

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

// Equivalent of Start<SomeType>
var typedStartMethod = startMethod.MakeGenericMethod(typeof(SomeType));