使用嵌套对象 C# 构建对象 - 如何将行项目添加到发票
Build up object with nested objects C# - how to add lineitems to invoice
我正在尝试构建一个发票列表,但每个发票都有一个订单项列表,
我可以请教如何添加嵌套对象的指导吗?
我正在努力弄清楚谁将 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}
};
}
}
}
试试这个...注意 li 需要是一个 public 列表
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
};
}
}
如前所述 - 您的列表需要 public。
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
}
我正在尝试构建一个发票列表,但每个发票都有一个订单项列表, 我可以请教如何添加嵌套对象的指导吗?
我正在努力弄清楚谁将 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}
};
}
}
}
试试这个...注意 li 需要是一个 public 列表
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
};
}
}
如前所述 - 您的列表需要 public。
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
}