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 に答える