访问“属性”属性中的类成员

时间:2018-08-23 17:21:32

标签: c# attributes

我有一个文档类,该类具有多个属性,并且取决于要以excel或pdf格式导出数据的文档类型。

我的Document类的简化版本如下:

public class Document
{
     public int ID { get; set;}

     public string SaleInfo { get; set; }

     public string PurchaseInfo { get; set; }

     public DocumentType DocumentType { get; set; } 
} 

DocumentType枚举看起来像这样:

public enum DocumentType : Byte
{
    PurchaseDocument = 1,
    SaleDocument
}

我创建了Exportable属性,如下所示:

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class Exportable : Attribute
{
    public bool ExportableInExcel = true;
    public bool ExportableInPdf = true;
}

我的问题是此代码无法正常工作(我无法访问属性中的类成员):

public class Document
{
     public int ID { get; set;}

     //this keyword isn't accessible
     [Exportable(ExportableInExcel = (this.DocumentType == DocumentType.SaleDocument))]
     public string SaleInfo { get; set; }

     public string PurchaseInfo { get; set; }

     public DocumentType DocumentType { get; set; } 
} 

因此,我感兴趣的是,是否有可能在属性级别上更改或添加某些内容来解决此问题?

0 个答案:

没有答案