2

已经定义了这样的类:

class Data
{
    internal string f_source;
    internal string f_output;
    internal string password;
}

如您所见,我明确地为其中的每个成员定义了访问修饰符。

是否存在某种方式来一次为类中的所有成员定义默认访问修饰符?

也许,有什么属性让这样的梦想成真……不知道……

我尝试在类声明之前使用访问修饰符:

internal class Data
{
    string f_source;
    string f_output;
    string password;
}

但是,没有成功!

是否有任何建议:“如何解决这样的问题?”

4

2 回答 2

3

您的第二个定义类型使您的类只能在该类的同一程序集中访问。没有办法让所有班级成员都成为所有成员的内部成员。

看看这个:msdn内部定义&示例

祝你好运!

于 2013-02-11T12:11:29.330 回答
3

通过设计,您所要求的在 C# 中是不可能的。

如果没有给出,C# 的规范指定使用哪个访问修饰符。默认值是合法的最受限制的访问修饰符。这是直接在命名空间中的类型(即不是嵌套类型)是内部的,而任何成员都是私有的,除非另有说明。

我敢肯定,这是一个设计决策,部分基于对 C++ 中访问修饰符如何工作的经验。一系列错误可能来自文件的特定部分声明private等。必须声明public它更具表现力(或者知道如果没有指定它会尽可能受到限制)。将受限保留为默认设置非常适合保留尽可能多的内部 (*) 实现细节,并且只公开您真正需要公开的内容

(*) 不是修饰符

于 2013-02-11T12:19:09.200 回答