c# 3.0为我们提供了带有编译器生成的支持字段的getters和setters -这真的很棒,但在很多情况下,你仍然需要使用支持字段。
在一个完美的世界(观点)中,你可以这样做
class MyClass {
... stuff ...
public string MyProperty {
private string _myBackingField = "Foo";
get { return _myBackingField; }
set { _myBackingField = value; }
}
}而不是
class MyClass {
private string _myBackingField = "Foo";
... stuff ...
public string MyProperty {
get { return _myBackingField; }
set { _myBackingField = value; }
}
}有没有人有类似的建议或技术?或者换一种方式--什么是最清晰的方法来保持你的支持字段和属性的组织。
发布于 2009-11-10 00:40:03
我还是更喜欢
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; }
}
}如果缺少接近性使您感到困扰,您可以将每个属性的支持字段放在它所服务的属性之上。
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; }
}
}发布于 2009-11-10 00:39:02
我倾向于将支持字段一起放在顶部,但随后我也会使用方法变量。也许这是一些旧语言的延续,在这些语言中,变量声明始终是第一步,但在我看来,它似乎比根据需要内联声明变量更有条理。
如果你不喜欢在顶部声明变量,我见过的最接近你的“理想”风格是:
private int _integer1 = 0;
public int Integer1
{
get {return _integer1;}
set {_integer1 = value;}
}发布于 2009-11-10 14:56:11
我喜欢的是:
public int Integer1
{
get {return _integer1;}
set {_integer1 = value;}
}
private int _integer1 = 0;为什么?
这
private int _integer1 = 0;
///<summary>
/// this is my property, enjoy it
///</summary>
public int Integer1
{
get {return _integer1;}
set {_integer1 = value;}
}或
///<summary>
/// this is my property, enjoy it
///</summary>
public int Integer1
{
get {return _integer1;}
set {_integer1 = value;}
}
private int _integer1 = 0;在末尾加上支持字段的方法更具可读性。将属性应用于属性时也是如此。
https://stackoverflow.com/questions/1702180
复制相似问题