C# 中的访问修饰符
Access modifiers in C#
我正在自学 C#,但我 运行 遇到了一些模棱两可的情况。
我想做的是为一些数据创建一个容器 class,相当简单,但我试图尊重封装并仅通过 setter 和 getter 访问数据。所以我正在阅读有关访问修饰符的内容,并且根据 This MSDN article 默认访问级别是内部。我来自 Java-land,所以我不熟悉内部,但是从该页面上的资源来看,内部似乎比我想要的更宽松。所以我想把东西设为私有。
我的困惑来自代码示例 here。看起来如果我这样做
class whatever {
private int thing;
string ambiguous;
}
模糊变量将是私有的,而不是内部的。
真的是这样吗?还是第二个例子写错了?
字段ambiguous
一点都没有歧义。 C# 规范指出,在 a class 成员 上没有访问修饰符的情况下,它默认为 private
.
顶级类型的默认访问级别是内部的。
class Foo {
int bar;
class Nested {
int baz;
}
}
等同于
internal class Foo {
private int bar;
private class Nested {
private int baz;
}
}
我正在自学 C#,但我 运行 遇到了一些模棱两可的情况。
我想做的是为一些数据创建一个容器 class,相当简单,但我试图尊重封装并仅通过 setter 和 getter 访问数据。所以我正在阅读有关访问修饰符的内容,并且根据 This MSDN article 默认访问级别是内部。我来自 Java-land,所以我不熟悉内部,但是从该页面上的资源来看,内部似乎比我想要的更宽松。所以我想把东西设为私有。
我的困惑来自代码示例 here。看起来如果我这样做
class whatever {
private int thing;
string ambiguous;
}
模糊变量将是私有的,而不是内部的。
真的是这样吗?还是第二个例子写错了?
字段ambiguous
一点都没有歧义。 C# 规范指出,在 a class 成员 上没有访问修饰符的情况下,它默认为 private
.
顶级类型的默认访问级别是内部的。
class Foo {
int bar;
class Nested {
int baz;
}
}
等同于
internal class Foo {
private int bar;
private class Nested {
private int baz;
}
}