C# 如何申报&;在同一语句中初始化属性?
这说明了我正在努力实现的目标:C# 如何申报&;在同一语句中初始化属性?,c#,C#,这说明了我正在努力实现的目标: public class GridModel : PropertyChangedBase { public List<string> LeftValue { get; set; } public List<string> LeftValue = new List<string> { "Alpha", "Beta", "Gamma" }; [...] } 公共类GridModel:PropertyChan
public class GridModel : PropertyChangedBase
{
public List<string> LeftValue { get; set; }
public List<string> LeftValue = new List<string> { "Alpha", "Beta", "Gamma" };
[...]
}
公共类GridModel:PropertyChangedBase
{
公共列表LeftValue{get;set;}
public List LeftValue=新列表{“Alpha”、“Beta”、“Gamma”};
[...]
}
但我得到了一个明显的“标识符重复”错误
这有语法吗?可能使用常量或固定列表?在声明属性时,无法初始化属性的支持字段 您必须在构造函数中执行此操作,或者干脆不使用自动实现的属性,直接初始化支持字段
public class GridModel : PropertyChangedBase
{
private List<string> _leftValue = new List<string> { "Alpha", "Beta", "Gamma" };
public List<string> LeftValue
{
get { return _leftValue; }
set { _leftvValue = value; }
}
}
公共类GridModel:PropertyChangedBase
{
私有列表_leftValue=新列表{“Alpha”、“Beta”、“Gamma”};
公共列表左值
{
获取{return\u leftValue;}
设置{u leftvValue=value;}
}
}
您可以使用备份字段对其进行初始化:
public class GridModel : PropertyChangedBase
{
private List<string> leftValue = new List<string> { "Alpha", "Beta", "Gamma" };
public List<string> LeftValue
{
get
{
return leftValue;
}
set
{
leftValue = value;
}
}
[...]
}
公共类GridModel:PropertyChangedBase
{
私有列表leftValue=新列表{“Alpha”、“Beta”、“Gamma”};
公共列表左值
{
得到
{
返回leftValue;
}
设置
{
leftValue=值;
}
}
[...]
}
中有一些示例,例如
声明为只读时,不能在setter中设置
\u leftvValue
。请删除setter或标识符。对不起,它不应该也是newlist(new[]{“Alpha”、“Beta”、“Gamma”})代码>或(新[]{“Alpha”、“Beta”、“Gamma”})代码>否,这些称为集合初始值设定项。编译器将为括号内的每个项目创建一个“Add”调用:
private int month = 7; // Backing store
public int Month
{
get
{
return month;
}
}