在同一行声明的多个字段的可访问性

Posted

技术标签:

【中文标题】在同一行声明的多个字段的可访问性【英文标题】:Accessibility of multiple fields declared at the same line 【发布时间】:2015-06-28 15:04:23 【问题描述】:

我想知道我这样做是所有变量都是公开的还是只是第一个:

public string equipamento, marca, modelo, descricao, observacoes, prioridade;

或者如果我需要像这样声明它们:

public string equipamento;
public string marca;
public string modelo; 
[...]

第二个选项显然有效,但第一个选项也有效吗?

【问题讨论】:

刚刚成功,成功了! 请注意,许多人会认为将多个变量定义塞进一行是不好的风格,而很少有人会认为每行总是有一个定义是不好的风格。 谢谢,但为了减少代码,我在一行中完成了。 【参考方案1】:

如 C# 语言规范中所述,第 10.4 节字段on MSDN:

声明多个字段的字段声明等效于具有相同属性、修饰符和类型的单个字段的多个声明。例如

class A

   public static int X = 1, Y, Z = 100;

等价于

class A

   public static int X = 1;
   public static int Y;
   public static int Z = 100;

但作为commented by @hyde,请考虑以前的不良做法。它会严重损害代码的可读性。

【讨论】:

我认为它会起作用。我提出了这个问题,以便将来其他人可以在哪里搜索。

以上是关于在同一行声明的多个字段的可访问性的主要内容,如果未能解决你的问题,请参考以下文章

内部类成员从封闭类的可访问性

声明数据成员之前成员函数中数据成员的可访问性

通过using声明改变个别成员的可访问性

OOP 和私有字段的继承

C++ 在派生类中使用using声明改变基类成员的可访问性

包含来自访问中的多个字段的数据的组合框