1

有没有办法指定私有字段来存储公共获取值?或者这真的没有意义。像这样的东西:

private int _myint = 5;
public int MyInt { get(ref _myint); }

显然,当前的方法是:

public in MyInt { get; private set; }

但这不会让您访问后备存储。我不知道,也许这甚至没有用例,但我想我会问。

4

2 回答 2

2

那时你只需要做一个传统的财产:

private int _myInt;
public int MyInt { get { return _myInt; } }

// or

private int _myInt;
public int MyInt { get { return _myInt; } private set { _myInt = value; } }

第二个只是意味着您的字段周围有一个包装器,可以在您的班级内部使用。无论哪种方式,您的字段只能从此类内部设置。

于 2013-07-22T16:43:49.120 回答
1

您只需要不使用自动属性:

private int _myint = 5;
public int MyInt 
{ 
    get { return _myint; }
    private set { _myint = value; }
}

自动属性只是提供了一种更短、更方便的语法,编译器会在其中为您创建和命名支持字段。

于 2013-07-22T16:44:07.370 回答