C#-使用自动实现的属性和命名约定
使用自动执行的属性时,如 公共字符串MyProperty{get;set;} 这是伟大的,直到你来到命名公约 我对类级字段使用下划线 字符串MyProperty 因此,使用auto-implemented意味着不清楚变量是什么,它的作用域是什么 如果你明白我的意思,有什么想法吗 马尔科姆C#-使用自动实现的属性和命名约定,c#,C#,使用自动执行的属性时,如 公共字符串MyProperty{get;set;} 这是伟大的,直到你来到命名公约 我对类级字段使用下划线 字符串MyProperty 因此,使用auto-implemented意味着不清楚变量是什么,它的作用域是什么 如果你明白我的意思,有什么想法吗 马尔科姆 编辑:由于属性是公共的,您也不想使用下划线。PascalCasing告诉您它的类级别和公共性。(看看这个)帕斯卡辛告诉你它的班级级别和公共级别。(看看这个)当您使用自动属性和现代IDE(如visual stud
编辑:由于属性是公共的,您也不想使用下划线。PascalCasing告诉您它的类级别和公共性。(看看这个)帕斯卡辛告诉你它的班级级别和公共级别。(看看这个)当您使用自动属性和现代IDE(如visual studio)时,根本不需要。如果使用自动属性和不同的可视性,intellisense将正常工作。编译器也会检查它
public string SomeString { private set; get; }
private string some2string;
public string Some3string { set; get; }
这意味着SomeString只能在内部写入。您将无法获得类之外的属性。所以没有魔法等等
如果您有一个真正的纯类属性,那么就不需要创建属性,只创建一个字段。当您使用自动属性和现代IDE(如visual studio)时,您根本不需要。如果使用自动属性和不同的可视性,intellisense将正常工作。编译器也会检查它
public string SomeString { private set; get; }
private string some2string;
public string Some3string { set; get; }
这意味着SomeString只能在内部写入。您将无法获得类之外的属性。所以没有魔法等等
如果您有一个真正的纯类属性,那么就不需要创建属性,只创建一个字段。属性本身是公共的。编译器为您的属性生成私有字段。因为MSIL本机不支持自动实现的属性。但是因为私有字段是由编译器生成的,所以您不必直接处理它们 Brad Abrams的《框架设计指南》第二版是一本关于命名约定的好书
执行命名约定的一个很好的工具是属性本身是公共的。编译器为您的属性生成私有字段。因为MSIL本机不支持自动实现的属性。但是因为私有字段是由编译器生成的,所以您不必直接处理它们 Brad Abrams的《框架设计指南》第二版是一本关于命名约定的好书 实施命名约定的一个很好的工具是字段/属性: 如果在我的示例中使用“get,set”,您是对的,区别应该是什么,但是,如果有人调用属性或设置属性,您可能会执行一些额外的任务。您可能会在设置属性或更新对象的某些内部状态时进行一些检查。字段/属性: 如果在我的示例中使用“get,set”,您是对的,区别应该是什么,但是,如果有人调用属性或设置属性,您可能会执行一些额外的任务。也许您会在设置属性或更新对象的某些内部状态时进行一些检查