c#3.0为我们提供了编译器生成的支持字段的getter和setter - 这真的很棒,但是很多时候你仍然需要使用支持字段.
在一个完美的世界(意见)中,你将能够做类似的事情
class MyClass {
... stuff ...
public string MyProperty {
private string _myBackingField = "Foo";
get { return _myBackingField; }
set { _myBackingField = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
代替
class MyClass {
private string _myBackingField = "Foo";
... stuff ...
public string MyProperty {
get { return _myBackingField; }
set { _myBackingField = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人有接近这个的建议或技巧?或者换句话说 - 保持支持字段和属性组织的最清晰方法是什么.
我倾向于将支持字段保持在顶部,但是我也使用方法变量.也许它是一些旧语言的延续,其中变量声明始终是第一步,但它似乎比我根据需要内联声明变量更有条理.
如果你不喜欢在顶部声明变量,那么我所看到的最接近你的"理想"风格的是:
private int _integer1 = 0;
public int Integer1
{
get {return _integer1;}
set {_integer1 = value;}
}
Run Code Online (Sandbox Code Playgroud)
我还是喜欢
class MyClass {
private string _myBackingField = "Foo";
private string _myOtherBackingField = "bar";
... stuff ...
public string MyProperty {
get { return _myBackingField; }
set { _myBackingField = value; }
}
public string MyOtherProperty {
get { return _myOtherBackingField; }
set { _myOtherBackingField = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
如果缺乏接近性困扰您,您可以将每个属性的支持字段放在它所服务的属性之上.
class MyClass {
private string _myBackingField = "Foo";
public string MyProperty {
get { return _myBackingField; }
set { _myBackingField = value; }
}
private string _myOtherBackingField = "bar";
public string MyOtherProperty {
get { return _myOtherBackingField; }
set { _myOtherBackingField = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |