C# 关于属性的一个小问题
代码如下
public class Test
{
public string Name
{
get;
set;
}
}
另一个类写
Test test = new Test() { Name = 3};
string a = test.Name;
这里a 的值是 3。
我是想问,一般情况下属性是和字段一起使用的,也就是说我只是把属性看做一个特殊的方法来对字段进行操作。
那么这个 3 是储存在哪里了 属性可以储存值? 难道是储存在SET的value?
------解决方案--------------------自动属性。C#会自动创建一个私有变量保存。
------解决方案--------------------编译器将创建一个私有的匿名后备字段,一下摘自帮助
当属性访问器中不需要其他逻辑时,自动实现的属性可使属性声明变得更加简洁。当您如下面的示例所示声明属性时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的 get 和 set 访问器进行访问。