我的界面和类如下所示:
public interface ITree<T> where T : IComparable
实现接口的类:
public class Tree<T> : ITree<T> where T : IComparable
我想导入所有实现ITree的类,其中T:IComparable with ITree
我尝试了许多不同的出口,如:
registrationITreeBuilder
.ForTypesMatching(t => t.GetInterface(typeof(ITree<>).Name) != null)
.Export<ITree<int>>();
registrationITreeBuilder
.ForTypesMatching(t => t.GetInterface(typeof(ITree<>).Name) != null)
.Export(b=>b.AsContractType(typeof(ITree<int>));
registrationITreeBuilder
.ForTypesDerivedFrom(t => t.GetInterface(typeof(ITree<>).Name) != null)
.Export<ITree<int>>();
等等。
但我尝试的所有出口都与进口不匹配:
[ImportMany]
public IEnumerable<ITree<int>> TreeInstances { get; set; }
如何定义导出以匹配上述导入?