我在收到& amp;时收到类属性中的构建错误设置另一个类的枚举,该类具有它自己独立的getter& setter方法。以下代码的get {}语句中有两个相同的错误。我不确定如何解决显示的构建错误:'只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句'。
public class Data
{
private IEnumerable<Client> _clientData;
private IEnumerable<Company> _companyData;
public IEnumerable<Client> ClientData
{
get { _clientData ?? (_clientData = new List<Client>()); }
set { _clientData = value; }
}
public IEnumerable<Company> CompanyData
{
get { _companyData ?? (_companyData = new List<Company>()); }
set { _companyData = value; }
}
}
答案 0 :(得分:5)
您需要一份退货声明:
get { return _clientData ?? (_clientData = new List<Client>()); }
即使你没有缺少一个return语句,你基本上也不能使用??
(或者确实是? :
或者属性获取者)作为语句它自己的。这些表达式将在其他语句中使用。
例如:
String x = "Hello";
x.Length; // Invalid - just a property fetch can't be a statement
x.ToString(); // Pointless, but valid - method calls are statements
int y = x.Length; // Valid, assignment statement using property fetch