减少成员类中的列表属性数

Dar*_*ill 2 c# templating

我正在为特定的内部文件开发模板引擎.我目前有这个代码:

 public class properties
    {
        [DefaultValue("")]
        public string CompanyName { get; set;}
        [DefaultValue("")]
        public string Address { get; set; }
        [DefaultValue("")]
        public string AddressExtra { get; set; }
        [DefaultValue("")]
        public string InvoiceNumber { get; set; }
        [DefaultValue("")]
        public string InvoiceDate { get; set; }
        [DefaultValue("")]
        public string OrderNumber { get; set; }
        [DefaultValue("")]
        public string Rep { get; set; }
        [DefaultValue("")]
        public string Status { get; set; }
        [DefaultValue("")]
        public string TaxRate { get; set; }
        [DefaultValue("")]
        public string Quantity1 { get; set; }
        public string Quantity2 { get; set; }
        ...
    }
Run Code Online (Sandbox Code Playgroud)

与此模板一致: 模板 成为C#开发区的"新手".我想知道是否有可能在成员类中重新加载重复属性的实现逻辑.即:

Quantity1,Quantity2,Quantity3,Quantity4 ...从右到14,与所有其他重复区域相同.

我不知道如何重新考虑这个逻辑,我已经转向Stackoverflow寻找可能的想法(而不是外部库.我希望这是一个学习曲线和自包含).

Bra*_*NET 6

很明显你应该有一个"LineItem"类,如:

public class LineItem
{
   public int Quantity {get; set;}
   public string Product {get; set;}
   public double UnitPrice {get; set;}
   public double TotalAmount {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

您的"订单"类(您称之为"属性",而不是类的好名称)将包含这些类的集合.

即.

public class Order
{
   public string CompanyName {get; set;}
   ...
   public List<LineItem> Items {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

  • @DarylGill http://chat.stackoverflow.com/rooms/61015/discussion-of-so-question-25776871 (2认同)