使类中所有成员的访问修饰符为一
本文关键字:访问 成员 | 更新日期: 2023-09-27 17:58:43
已经定义了这样的类:
class Data
{
internal string f_source;
internal string f_output;
internal string password;
}
正如您所看到的,我正在为其中的每个成员显式地定义访问修饰符。
是否存在同时为类中的所有成员定义默认访问修饰符的方法?
也许,有某种特质使这样的梦想成真。。。不知道。。。
我尝试在类声明之前使用访问修饰符:
internal class Data
{
string f_source;
string f_output;
string password;
}
但是,没有成功!
有什么建议吗:"如何解决这样的问题?"
根据设计,您所要求的在C#中是不可能的。
C#的规范指定了如果没有给定访问修饰符,则使用哪个访问修饰符。默认值是合法的最受限制的访问修饰符。这是一个直接在命名空间中的类型(即不是嵌套类型)是内部的,而任何成员都是私有的,除非另有规定。
我确信,这是一个设计决策,部分基于C++中访问模块的工作经验。一系列错误可能来自于文件中声明private
、public
等的特定部分。必须声明它(或者知道如果不指定,它会尽可能受到限制)会更有表现力。将限制作为默认值与尽可能多地保留内部(*)实现细节以及只公开您真正需要公开的非常吻合
(*)不是修饰符
您的第二个定义类型使您的类只能在同一个程序集中访问该类。无法将所有类成员设置为所有成员的内部成员。
切克这个:msdn内部定义&示例
祝你好运!