依存関係としてクラスがあります:
public class Foo {
public Foo() {
// default constructor
}
public Foo(IMyInterface my) {
}
}
別のクラスに挿入しようとすると、次のようなエラーメッセージが表示されました。
依存関係の解決に失敗しました......InvalidOperationException-現在のタイプIMyInterfaceはインターフェースであり、構築できません。タイプマッピングがありませんか?
IMyInterface
このコンストラクターを他の目的のために予約しているため、具体的な型に登録したことはありません。
私の理解では、Unityは、どちらを解決するかを明確に指示していない場合でも、最初に最小のパラメーターでコンストラクターを解決しようとします。したがって、デフォルトのコンストラクターを初期化しようとします。
私が使用する以外にInjectionConstructorAttribute
、Unityに2番目のコンストラクターを無視するように指示できる賢い方法はありますか?