为课堂上的所有成员创建一个访问修饰符

时间:2013-02-11 11:22:09

标签: c# access-modifiers

定义了这样的课程:

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

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

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

也许,有一些属性让这样的梦想成真......不知道......

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

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

但是,没有成功!

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

2 个答案:

答案 0 :(得分:3)

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

谢谢:msdn internal defination&example

祝你好运!

答案 1 :(得分:3)

根据设计,您在C#中无法满足要求。

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

我确信,这是一个设计决策,部分基于C ++中访问修改器的工作原理。一系列错误可能来自声明privatepublic等文件的特定部分。必须陈述它更具表现力(或者知道如果没有指定它尽可能受限制)。保持限制作为默认值非常适合保留尽可能多的内部(*)实现细节,并且只暴露您真正需要公开的内容

(*)不是修饰语