修饰符的作用范

让我们继续使用文件夹和文件的示例来说明 publicinternalprivate 这三种访问修饰符的作用范围:

假设我们有以下文件和文件夹结构:

- Project
  - src
    - ModuleA.cs
    - ModuleB.cs
  - Test
    - TestModuleA.cs
    - TestModuleB.cs
  1. ModuleA.cs:

    namespace Project
    {
        public class ModuleA
        {
            // 可以被任何代码访问
        }
    
        internal class InternalModuleA
        {
            // 只能被 Project 程序集内的其他类访问
        }
    
        private class PrivateModuleA
        {
            // 只能在 ModuleA.cs 文件内部访问
        }
    }
    
  2. ModuleB.cs:

    namespace Project
    {
        public class ModuleB
        {
            // 可以被任何代码访问
        }
    
        internal class InternalModuleB
        {
            // 只能被 Project 程序集内的其他类访问
        }
    
        private class PrivateModuleB
        {
            // 只能在 ModuleB.cs 文件内部访问
        }
    }
    
  3. TestModuleA.cs:

    namespace Project.Test
    {
        class TestModuleA
        {
            // 可以访问 public、internal 类 ModuleA 和 ModuleB
            ModuleA moduleA = new ModuleA();
            InternalModuleA internalModuleA = new InternalModuleA();
            ModuleB moduleB = new ModuleB();
            InternalModuleB internalModuleB = new InternalModuleB();
            // private 类 PrivateModuleA 和 PrivateModuleB 无法访问
        }
    }
    
  4. TestModuleB.cs:

    namespace Project.Test
    {
        class TestModuleB
        {
            // 无法访问 internal 类 InternalModuleA 和 InternalModuleB
            // 编译错误:InternalModuleA 类是 internal 的,无法访问
            // InternalModuleA internalModuleA = new InternalModuleA();
            // private 类 PrivateModuleA 和 PrivateModuleB 无法访问
        }
    }
    

在这个示例中,ModuleAModuleB 类被标记为 public,因此可以被任何代码访问。InternalModuleAInternalModuleB 类被标记为 internal,只能在 Project 程序集内的其他类访问。PrivateModuleAPrivateModuleB 类被标记为 private,只能在定义它们的文件内部访问。

通过这个文件夹和文件的例子,您可以更清楚地理解 publicinternalprivate 这三种访问修饰符的作用范围,以及它们如何控制类的访问权限。这种访问权限的限制有助于确保代码的封装性和安全性。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容