用嵌套对象构建对象c# -如何向发票添加行项
本文关键字:对象 添加行 嵌套 构建 | 更新日期: 2023-09-27 18:04:14
我试图建立一个发票列表,但每个发票都有一个LineItems列表,我可以问一下如何添加嵌套对象的指导吗?
我正在努力弄清楚谁将LineItems添加到发票中,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace myNS
{
class Invoice
{
public int id;
public int value;
List<LineItem> li = new List<LineItem>();
}
class LineItem
{
public int LineItemID;
public int LineItemValue;
public int LineItemQty;
}
class Class1
{
static void Main(string[] args)
{
var items = new[]
{
new Invoice{id=1, value =30}, //how to insert LineItems here
new Invoice{id=2, value =10},
new Invoice{id=3, value =20}
};
}
}
}
如前所述,您的列表需要是公开的。
public class Invoice
{
public int id;
public int value;
public List<LineItem> li = new List<LineItem>(); //<-- here
}
这将允许您访问它。
添加一个项目到列表-你有两个选择。
1)在初始化时创建一个新的列表,并将项目放入其中。
static void Main(string[] args)
{
var lineitem = new LineItem();
var items = new[]
{
new Invoice{id=1, value =30, li = new List<LineItem>{lineitem}}, //<-- like this
new Invoice{id=2, value =10},
new Invoice{id=3, value =20}
};
}
2)在初始化后将项添加到现有列表:
static void Main(string[] args)
{
var lineitem = new LineItem();
var items = new[]
{
new Invoice{id=1, value =30},
new Invoice{id=2, value =10},
new Invoice{id=3, value =20}
};
items[0].li.Add(lineItem);//<-- like this
}
试试这个…注意li需要是一个公共列表
class Invoice
{
public int id;
public int value;
public List<LineItem> li = new List<LineItem>();
}
class LineItem
{
public int LineItemID;
public int LineItemValue;
public int LineItemQty;
}
class Class1
{
static void Main(string[] args)
{
var items = new[]
{
new Invoice{id=1, value =30, li = new List<LineItem>{new LineItem{LineItemID = 1, LineItemValue =2,LineItemQty = 3}}}, //how to insert LineItems here
};
}
}