首页 > 后端开发 > C++ > C#中的类,成员和其他实体的默认访问修饰符是什么?

C#中的类,成员和其他实体的默认访问修饰符是什么?

Mary-Kate Olsen
发布: 2025-01-29 04:01:08
原创
290 人浏览过

What Are the Default Access Modifiers for Classes, Members, and Other Entities in C#?

C# 中的默认访问修饰符

C# 中的默认访问修饰符遵循一个原则:每个成员的可访问性设置为“您可以为该成员声明的最受限制的访问权限”。

具体来说,C# 中不同实体的默认访问修饰符如下:

  • 类 (Classes): internal
  • 方法 (Methods): private
  • 成员 (字段、属性): private
  • 构造函数 (Constructors): private
  • 委托 (Delegates): private
  • 接口 (Interfaces): public

例如,以下代码表示一个名为 Outer 的外部类,其中包含一个嵌套类 Inner 和一个私有方法 Foo()

<code class="language-csharp">namespace MyCompany
{
    class Outer
    {
        void Foo() { }
        class Inner { }
    }
}</code>
登录后复制

这段代码等效于以下带有显式访问修饰符的代码:

<code class="language-csharp">namespace MyCompany
{
    internal class Outer
    {
        private void Foo() { }
        private class Inner { }
    }
}</code>
登录后复制

此规则的一个例外是,当您为属性的不同部分(通常是 setter)定义不同的可访问性时。例如:

<code class="language-csharp">public string Name
{
    get { ... }
    private set { ... } // 显式设置为 private
}</code>
登录后复制

如 C# 3.0 规范(第 3.5.1 节)中所述,默认访问修饰符会根据声明上下文而有所不同:

  • 命名空间 (Namespaces): public(不允许访问修饰符)
  • 类型 (Types): internal(在编译单元或命名空间中)
  • 类成员 (Class members): private
  • 结构成员 (Struct members): private(因为结构是密封的)
  • 接口成员 (Interface members): public(不允许访问修饰符)
  • 枚举成员 (Enumeration members): public(不允许访问修饰符)

嵌套类型遵循其包含类或结构的可访问性规则,默认为私有可见性。

以上是C#中的类,成员和其他实体的默认访问修饰符是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板