1
object[] parame = new object[1];
parameters[0] = param1;

ConstructorInfo[] info = type.GetConstructors();
info[0].Invoke(parame );

obj= Activator.CreateInstance(type, parameters);

これにより、インターフェイスがパラメーターとして使用されるctorため、見つからないというエラーが表示されます。ctor

このオブジェクトのインスタンスを作成するにはどうすればよいですか?

public Controller(ICustomInterface custom)
        {
            _custom= custom;
        }

同じパラメーターで ctor を呼び出そうとしましたが、このクラスのオブジェクトはインターフェイス型に変換できないと表示されます。このクラスはこのインターフェースを実装しますが。

4

1 に答える 1

2

次のように、インターフェイスを実装するインスタンスを作成できるように、インターフェイスを実装します。

class CustomClass : ICustomInterface {}

Activatorあなたは単に

var obj = Activator.CreateInstance(typeof(Controller), new CustomClass());

コンストラクタ引数として渡された の正しいインスタンスを返しContollerますnew CustomClass()

于 2013-03-21T11:22:55.077 に答える