可以在C ++中使用以下结构声明变量
private:
public:
protected:
float bla1;
float bla2;
float bla3;
C#中是否有等价物?不得不重复自己似乎相当乏味;
protected float bla1;
protected float bla2;
protected float bla3;
答案 0 :(得分:9)
没有。访问权限在每个声明中指定。
这样做的好处是方法在源文件中的位置对行为没有影响。这意味着您可以移动方法和属性(例如,将相关的方法集中在一起)而不受惩罚。字段的相当是真的 - 可以使字段的声明顺序很重要。不可否认,最好不要首先这样做......
答案 1 :(得分:8)
不,没有这样的事情。实际上,它的设计就是为了让代码更具可读性。这适用于C#和Java。
答案 2 :(得分:7)
值得注意的是,如果你有几个相同类型的成员,你可以将它们声明为:
protected float bla1, bla2, bla3;
答案 3 :(得分:1)
C#中没有等效的(VB和F#也是如此)。
我个人喜欢这种差异。我在一个非常大的C ++代码库中工作,没有办法查看特定的方法并知道它的特定可访问性。有些类已经变得如此之大,以至于需要进行大量的页面滚动才能看到修饰符。
有些程序员可能会认为这并不坏,但考虑一下当人们开始在课堂中间混合#if defs并在#if中添加修饰符时会发生什么。它使得在代码审查期间确定访问修饰符成为一项重要的操作。
这是一个很小的打字牺牲,可以在线添加修饰符但在长期可读性方面值得。