在声明期间初始化并创建速记getter / setter

时间:2013-10-20 22:35:01

标签: c# setter getter

如何在声明期间初始化成员变量并创建getter / setter简写?是否可以或者我必须使用构造函数来赋值?

例如,我想做类似的事情

public class Money
{
   public int dollars = 200 {get; set;}
}

public int dollars = 200;

dollars 
{
    get;
    set;
}

4 个答案:

答案 0 :(得分:21)

在C#6及更高版本中,您可以与字段类似地初始化自动实现的属性:

public string FirstName { get; set; } = "Jane";

来源:MSDN

答案 1 :(得分:5)

不幸的是,目前无法实现这一目标。

如果使用自动属性,则必须在声明属性支持字段时指定默认值,或者从构造函数中指定默认值。

答案 2 :(得分:5)

无论

public class Money
{
    private int dollars = 200;
    public int Dollars
    {
        get { return dollars; }
        set { dollars = value; }
    }
}

public class Money
{
    public int Dollars { get; set; }

    public Money() 
    {
        Dollars = 200;
    }
}

答案 3 :(得分:3)

public class Money
{
  public int Dollars {get;set;}

  public Money()
  {
    Dollars = 200;
  }
}