所以我有这段代码可以使用 c# 发布JSON data到我的REST APItry { tempquantityofmenu = entQuantity.Text; CustList custo = new CustList(); CustomerOrder custo1 = new CustomerOrder() { menu_name = tempnameofmenu, menu_quantity = tempquantityofmenu, menu_code = tempcodeofmenu }; custo.CUSTOMER_ORDER.Add(custo1); await Navigation.PushAsync(new OrdernowCategory()); } catch(Exception ex) { DisplayAlert("error", ex.ToString(), "OK"); }然后我得到这个 System.NullReferenceExeption: Object Reference not set to an instance of an objectpublic class CustomerOrder{ public string menu_name { get; set; } public string menu_quantity { get; set; } public string menu_code { get; set; }}public class CustList{ public List<CustomerOrder> CUSTOMER_ORDER { get; set; }}我认为我的问题是当向CUSTOMER_ORDER内部添加项目时try catch不起作用
2 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
因为您没有为CUSTOMER_ORDER属性创建实例,所以CUSTOMER_ORDER是引用类型,null默认情况下具有值。
如果你想解决它,你可以给CUSTOMER_ORDER一个这样的实例集合。
CustList custo = new CustList() {
CUSTOMER_ORDER = new List<CustomerOrder>()
};
喵喔喔
TA贡献1735条经验 获得超5个赞
你可以
public class CustList
{
public List<CustomerOrder> CUSTOMER_ORDER { get; set; } = new List<CustomerOrder>();
}
或者
public class CustList
{
public List<CustomerOrder> CUSTOMER_ORDER { get; set; }
public CustList()
{
CUSTOMER_ORDER = new List<CustomerOrder>();
}
}
或者
custo.CUSTOMER_ORDER = new List<CustomerOrder>();
custo.CUSTOMER_ORDER.Add(custo1);
为了这个世界上所有整洁的事物的爱,不要用大写和下划线命名你的变量/属性/或andything
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消