0
我有三個類的聲明像上面有沒有辦法介入autofac的實例化過程?
[Plug("hello")]
public class Plug1 : IPlug{}
[Plug("hello")]
public class Plug2 : IPlug{}
[Plug("world")]
public class Plug3 : IPlug{}
當我使用container.Resolve<IEnumerable<IPlug>>()
來解決,我得到的所有實例,實現IPlug
接口,不過,我想獲得第一和第二(或世界,這該實例被標記爲屬性Plug("hello")
)。
有沒有辦法實現它?
我想避免使用
container.Resolve<IEnumerable<IPlug>>()
.Where(t => t.FirstAttribute<Plug>() != null
&& t.FirstAttribute<Plug>().Id == "Hello")
我總覺得它並不像表現的結果的最佳實踐。
謝謝。這是一個不錯的選擇。 – linus