我正在使用 MEF。我的应用程序是开放式的,但我仍然想对扩展它的人隐藏它。
例如 BaseAssembly 有
public class ListContainer
{
[ImportMany(typeof(IBase))]
public List<IBase> MyObjects { get; set; }
public void AssembleDriverComponents()
{
.... Some code to create catalogue..
//Crete the composition container
var container = new CompositionContainer(aggregateCatalog);
// Composable parts are created here i.e. the Import and Export components assembles here
container.ComposeParts(this);
}
}
其他组件将参考基础组件。
ReferenceAssembly 将有
[Export(typeof(IBase))]
public class MyDerived
{
public MyDerived()
{ }
}
我想避免引用程序集中派生类上的这个属性。
是否可以?