0

2 つの異なるコンポーネントを持つ 1 つのサービスがあります

<component type="ConcreteA, ConcreteA" service="Interface, Interface" />
<component type="ConcreteB, ConcreteB" service="Interface, Interface" />

両方解決したい。私はこのように努力しています

var builder = new ContainerBuilder();
builder.RegisterModule(new ConfigurationSettingsReader());
builder.RegisterControllers(typeof(MvcApplication).Assembly);

this._container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(this._container));

コントローラーで依存関係を解決したい

public Interface _myInterface { get; set; }

そして、私はそれを次のように使用します。

_myInterface.DoWork();

構成で 1 つのコンポーネントのみを宣言すると、すべてが完全に機能します。しかし、同じインターフェイス タイプのコンポーネントをさらに追加すると、問題が発生します。プロパティの宣言を次のように置き換えようとしました

public List<Interface> _myInterfaces { get; set; }

しかし、プロパティは常に null のままです...どうすればよいですか?

ありがとうございました

4

1 に答える 1

0

で解決

public Interface[] _myInterfaces { get; set; }

それ以外の

public List<Interface> _myInterfaces { get; set; }
于 2015-03-16T13:44:06.620 に答える