我有一个文档类,该类具有多个属性,并且取决于要以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; }
}
因此,我感兴趣的是,是否有可能在属性级别上更改或添加某些内容来解决此问题?