多么简单;组;在课堂上意味着什么?

时间:2010-10-28 07:34:23

标签: c# .net oop

以下列代码为例:

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;集;

这意味着什么?

3 个答案:

答案 0 :(得分:8)

Auto-Implemented Properties

  

在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构造