我正在自学 C#,但遇到了一些模棱两可的情况。
我想做的是为一些数据创建一个容器类,相当简单,但我试图尊重封装并让数据只能通过 setter 和 getter 访问。所以我正在阅读有关访问修饰符的内容并根据 This MSDN article 默认访问级别为内部。我来自 Java 领域,所以我不熟悉内部,但是从该页面上的资源来看,内部似乎比我想要的更宽松。所以我想将事情设置为私有(private)。
我的困惑来自代码示例 here .看起来如果我这样做
class whatever {
private int thing;
string ambiguous;
}
模糊变量将是私有(private)的,而不是内部的。
它真的是这样工作的吗?还是第二个例子写错了?
最佳答案
ambiguous
字段完全没有歧义。 C# 规范指出,如果类成员 没有访问修饰符,它默认为private
。
顶级类型的默认访问级别是内部的。
class Foo {
int bar;
class Nested {
int baz;
}
}
相当于
internal class Foo {
private int bar;
private class Nested {
private int baz;
}
}
关于c# - C# 中的访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28445670/