【发布时间】:2013-07-18 13:53:20
【问题描述】:
我正在开发一个类库,但在可访问性方面遇到了问题。我的类库包含几个不应从其他应用程序访问的内部类。相反,我想创建一个包含所有内部类实例的单例主类,以便其他应用程序可以访问主类,然后使用该实例中的内部类。下图解释了层次结构。
我尝试将 Main Class 设为 public,Internal Classes 设为内部,但这给了我错误“Inconsistent Accessibility”。我的主类如下所示:
public class Main
{
private static Main Instance;
public static Main GetInstance()
{
if (Instance == null)
Instance = new Main();
return Instance;
}
public Debugging Debugger = new Debugging();
}
我的一个内部类(调试)如下所示:
internal class Debugging
{
Content....
}
所以我希望有人可以帮助我弄清楚如何使内部类只能通过我的单例主类访问。
【问题讨论】:
-
目前最简单的方法可能是简单地创建类
public,但它们的构造函数internal。这将使您可以轻松地公开该类及其成员,但外部程序集将无法实例化它们自己的一个。 -
如果您只希望
Debugging仅在Class Library中可访问/可见,则创建类internal,并在Main中将其声明为internal Debugging Debugger = new Debugging()。 -
谢谢,您想将您的第一条评论作为答案以便我接受吗?
标签: c# .net class class-library