【问题标题】:Accessing all classes from a .NET library file从 .NET 库文件访问所有类
【发布时间】:2014-04-11 23:33:27
【问题描述】:

我正在使用 .NET C# 开发 Windows 应用程序项目。 我创建了一个库文件命名空间 xyz,其中包含 3 个类 class1、class2class3

添加 libaray 引用后,当我在 WinForms 应用程序中使用 xyz 命名空间时 (using XYZ;), 然后输入“xyz”。在列表中只显示一个类 class1;其他 2 个类不可访问。

可能是什么问题?

【问题讨论】:

标签: c# .net


【解决方案1】:

class 的默认访问修饰符是 internal,不能在 library 之外访问。

因此,将您的类访问修饰符明确设为public,如下所示:

public class MyClass
{

}

【讨论】:

    【解决方案2】:

    确保类被标记为public

    您可以像这样使用public 访问修饰符:

    public class class3
    {
       // fields, properties, methods, etc.
    }
    

    【讨论】:

      【解决方案3】:

      我可能强烈假设xyz 命名空间中的其余类(class2class2)没有用public 访问修饰符声明,并且可能用internal 标记,这是由默认不指定任何内容!)。

      class 或任何其他成员如果不是 public,则无法从您的程序集中访问。

      来自 MSDN:

      public 关键字是类型和类型成员的访问修饰符。 公共访问是最宽松的访问级别。没有 访问公共成员的限制。

      这样改:

      namespace xyz
      {
          public class class2{....}
      
          public class class3{...}
      }
      

      【讨论】:

        【解决方案4】:

        两个词:访问修饰符。期间。

        【讨论】:

        • 这是陈述其他回复中内容的最简洁方式。我在您的评论中没有看到任何观点。
        • 嗯?你在那里看到问题或批评吗?是准确的答案。我不想用勺子喂食。请不要跳上他现在是初学者的乐队马车。初学者在这里待遇不是很好。
        猜你喜欢
        • 2022-01-18
        • 1970-01-01
        • 1970-01-01
        • 2012-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-18
        相关资源
        最近更新 更多