【发布时间】:2010-09-28 14:32:14
【问题描述】:
当使用自动实现的属性时,例如
公共字符串 MyProperty { get;放; }
在您了解命名约定之前,这很好。
我在类级别字段中使用下划线,即
字符串_MyProperty;
所以自动实现意味着变量是什么及其作用域并不明显。
如果你明白我的意思,有什么想法吗??
马尔科姆
编辑:由于该属性是公开的,因此您也不想使用下划线。
【问题讨论】:
标签: c#
当使用自动实现的属性时,例如
公共字符串 MyProperty { get;放; }
在您了解命名约定之前,这很好。
我在类级别字段中使用下划线,即
字符串_MyProperty;
所以自动实现意味着变量是什么及其作用域并不明显。
如果你明白我的意思,有什么想法吗??
马尔科姆
编辑:由于该属性是公开的,因此您也不想使用下划线。
【问题讨论】:
标签: c#
PascalCasing 告诉您它的类级别和公开。 (看这个article about naming conventions for .NET)
【讨论】:
当您使用自动属性和现代 IDE(如 Visual Studio)时,您根本不需要 _。如果您使用自动属性和不同的可见性,智能感知将正常工作。编译器也会检查它。
public string SomeString { private set; get; }
private string some2string;
public string Some3string { set; get; }
这意味着 SomeString 只能在内部写入。你不会在课堂之外获得财产。所以没有魔法_等等。
如果你有一个真正的类属性,那么就不需要创建属性,只创建一个字段。
【讨论】:
字段/属性:
如果您只是在我的示例中使用“get,set”,那么您是对的,应该有什么区别,但是,如果有人调用该属性或设置该属性,您可能会执行一些额外的任务。也许您会检查设置属性或更新对象的某些内部状态。
【讨论】: