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
{
}

 

 

posted @ 2012-06-22 00:39  Ken-Cai  阅读(324)  评论(0编辑  收藏  举报