public List<ObjectA> ObjectAList
{
get
{
return ObjectAList ?? new List<ObjectA>();
}
set;
}
&#39; ObjectAList.set&#39;必须声明一个正文,因为它没有标记为abstract,extern或partial
为什么?
答案 0 :(得分:1)
该语言是如何运作的。
你不能做部分明确/隐含。
全部或全部。
当你隐式地这样做时,它只是写入一个自动生成的支持字段,但它想要做两面。 此外,即使集合有效,你的get也会出现堆栈溢出,因为你要调用get over over over而没有基本情况来结束递归。
答案 1 :(得分:1)
您正在尝试将Auto实现的属性与普通属性混合使用。此外,您需要一个支持字段,否则您将运行到Stackoverflow异常。您的财产声明应该是:
private List<ObjectA> _ObjectAList; //private backing field
public List<ObjectA> ObjectAList
{
get
{
return _ObjectAList ?? new List<ObjectA>();
}
set
{
_ObjectAList = value;
}
}