c#类获取/设置IEnumerable变量语句错误

本文关键字:变量 语句 错误 IEnumerable 设置 获取 | 更新日期: 2023-09-27 18:03:39

当获得&设置另一个类的枚举,该类有自己单独的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; }
        }
    }

c#类获取/设置IEnumerable变量语句错误

您需要一个返回语句:

get { return _clientData ?? (_clientData = new List<Client>()); }
即使没有缺少返回语句,基本上也不能单独使用??(或? :,或属性getter)作为语句。这些表达式将在其他语句中使用。

例如:

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