我在MEF中为ImportMany创建了一个自定义元数据属性,但ImportMany始终为null。
[MetadataAttribute]
[AttributeUsage(AttributeTargets.Class ,AllowMultiple = false)]
public class ModuleAttribute : ExportAttribute ,IModuleMetadata
{
public ModuleAttribute(string contract)
: base(typeof(IScreen))
{
Name = contract;
Region = Region.Sidebar;
IsVisible = true;
}
public string Name { get; set; }
public string Module { get; set; }
public Region Region { get; set; }
public string DisplayName { get; set; }
public bool IsVisible { get; set; }
public string Description { get; set; }
public short Order { get; set; }
public Permissions Permissions { get; set; }
}
以下是我如何导出课程。
[Module("Stock" ,Module = "Stock" ,Order = 1 ,Permissions = Permissions.View)]
internal sealed class StockWorkSpaceViewModel : Screen
屏幕为typeof(IScreen)
这是我的ImportMany。
[ImportMany]
public IEnumerable<Lazy<IScreen ,IModuleMetadata>> Modules { get; set; }
任何人都可以预测,我哪里出错了。
答案 0 :(得分:0)