MEF: MSDN 杂志上的文章(11) 自定义导出特性 【手工写ExportAttribute的子类】???
[MetadataAttribute] //指明 类ExportViewAttribute 将提供元数据。将类的所有公共属性输出为元数据。这里只有一个ViewType 属性。
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] //这指定该属性仅对类有效,且只能存在一个 ExportView 特性???
public class ExportViewAttribute : ExportAttribute
{
public ExportViewAttribute()
: base(typeof(IView)) // Export(typeof(IView))
{ }
public ViewTypes ViewType { get; set; }
}
//一般来说,AllowMultiple 应设置为 false;如果为 true,则导入程序将传递一组值而不是单个值。???
//当多个导出具有同一成员的同一约定的不同元数据时,AllowMultiple 应保留为 True。???
可以用以下比较简洁的方式Export了
[ExportView(ViewType = ViewTypes.SalesOrder)] public partial class SalesOrderView : UserControl, IView { }