8

在 C++ 中,可以通过隐私创建成员“块”:

private :
    int var1;
    char var2;
    ...

public :
    int var3;
    char var4;
    ...

我试图在 C# 中找到相同的示例,但找不到。我试图在 Visual Studio 中编写这样的块,但出现错误。

是否有在 C# 中有效的类似语法?

4

6 回答 6

8

简短的回答是否定的,没有。 你总是应该在你的字段/方法前面写访问说明符。

public int var1;
public char var2;

请注意,这private是默认说明符。这是一个设计问题,但我总是会明确指定修饰符。(即使只是为了一致的缩进!)

在 msdn上阅读有关可访问性级别 (C#)的更多信息。

于 2013-03-18T15:58:05.867 回答
3

不,您应该在每个成员(属性、字段或方法)之前编写访问修饰符。

于 2013-03-18T15:58:07.003 回答
2

简短的回答:没有。您需要在每一行前面加上访问说明符之一。如果您不这样做,则有一个默认值(成员为私有,类型为内部)。

于 2013-03-18T15:58:49.497 回答
0

这是不可能的。这里还有一些其他提示:

如果您想实现不同的读写访问,请尝试以下操作:

public int Var1 { get; private set; }

如果您的目的只是缩短您的代码,这至少可以节省一些字符。

private int _var1, _var2, _var3;
private char _char1, _char2;
于 2013-03-18T16:01:46.677 回答
0

不,这是不可能的,但如果你想将班级成员分组到逻辑组中,你可以使用region

#region Private properties

private int var1;

#endregion
于 2013-03-18T15:59:33.317 回答
0

目前,答案是否定的。添加访问修饰符的意图

public string name;
public string address;

是为了使代码更具可读性。

于 2013-03-18T16:05:23.090 回答