2008-12-28 136 views
1

使用自动implemnted性的判定像C# - 使用自动实现的属性和命名约定

公共字符串myProperty的{获得;组; }

这很棒,直到你来命名约定。

我用强调了一流的水平,即场

串_MyProperty;

所以用auto实现就意味着它不是什么明显的变量和范围。

如果你明白我的意思,任何想法?

马尔科姆

编辑:属性是公共你不希望用一个下划线。

回答

0

当你使用自动属性和现代IDE(如visual studio)时,你根本不需要_。如果您使用自动属性和不同的可见性,智能感知将正常工作。编译器也会检查它。

public string SomeString { private set; get; } 

    private string some2string; 

    public string Some3string { set; get; } 

这意味着SomeString只是内部可写的。你不会在课外获得财产。所以没有魔法等

如果你有一个真正的类属性,那么就没有必要使财产,只是一个领域。

0

该属性本身是公共的。编译器为您的属性生成私有字段。由于自动实现的属性不是由MSIL本机支持的。但是因为私有字段是由编译器生成的,所以你不需要直接处理它们。

关于命名约定的一本很棒的书是Brad Abrams的第二版框架设计指南。 link

一个伟大的工具来执行命名约定是Stylecop

0

字段/属性:

如果只是用“获取,设置”在我的例子,你是对的,应该是什么区别,但是,也许你会做一些额外的任务,如果有人打电话给财产,或设置财产。也许你会检查一下设置属性,或者更新对象的内部状态。