以下列代码为例:
public class Employee : IEntity
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int EmployeeID { get; set; }
}
public class Company : IEntity
{
public string Name { get; set; }
public string TaxID { get; set }
}
我总是习得;并设定;用括号里的东西。我从未离开过这样的人。
写作:
GET;集;
这意味着什么?
答案 0 :(得分:8)
在C#3.0及更高版本中,自动实现 属性使属性声明 没有额外逻辑时更简洁 属性访问者需要。 它们还使客户端代码能够创建 对象。声明属性时 如下例所示, 编译器创建一个私有的,匿名的 支持领域,只能是 通过物业获得 并设置访问者。
答案 1 :(得分:3)
这些称为自动实现的属性:
http://msdn.microsoft.com/en-us/library/bb384054.aspx
编译器将生成一个支持字段,类似于以下代码:
public class Company : IEntity
{
public string Name
{
get { return _Name; }
set { _Name = value; }
}
private string _Name;
}
决定这种语法可以缩短,但仍然保持所有相同的效用,因此自动实现的属性诞生了:)
答案 2 :(得分:1)
只需将其视为一种快速简便的C#方式,即可为变量提供读写权限。
如果你问我,C#的好处之一。
其他答案几乎告诉你关于auto get set的所有其他信息。 尽管这两个引号似乎有些矛盾:
CD说:在C#3.0及更高版本中,自动实现 属性使属性声明 更简洁没有额外的逻辑 在属性访问器中是必需的。 它们还使客户端代码能够创建 对象。声明属性时 如下例所示, 编译器创建一个私有的,匿名的 支持领域,只能是 通过物业获得 并设置访问者。
虽然Merlyn Morgan-Graham说:
这些被称为自动实施 属性:
http://msdn.microsoft.com/en-us/library/bb384054.aspx
编译器将生成支持 字段,类似于此代码:
public class Company : IEntity {
public string Name
{
get { return _Name; }
set { _Name = value; }
}
private string _Name; }
决定这种语法可以 做得更短,但仍然保持 因此,所有相同的实用程序 自动实施的属性诞生了 :)
对我而言,CD似乎确实创造了条件,而Merlyn Morgan-Graham表示没有。
我认为CD在说明你可以长时间使用时是正确的,例如,setter写入权限作为回复也会改变它的写作。
private int x = 3;
public int _x { get; set /*Change x*/; }
你必须使用正常的get set构造