在C#6中,我们可以为自动属性分配内联值。由于这些自动属性的值直接设置为支持字段(没有setter),我可以假设支持字段是“静态类型”吗?如果我错了,有人可以解释我如何为支持领域分配价值?在哪个阶段编译器将内联分配给属性?
class ProDemo
{
public string Name { get; set; } = "Jon";
}
有人可以解释一下在比较以前版本的C#时,C#6中自动属性的实现方式有何不同?
答案 0 :(得分:3)
此:
class ProDemo
{
public string Name { get; set; } = "Jon";
}
编译为:
class ProDemo
{
private string _name = "Jon";
public string get_Name() { return _name; }
public void set_Name(string value) { _name = value; }
}
根本没有与静态类型有任何关系。