【发布时间】:2015-03-27 12:44:50
【问题描述】:
我正在.Net 中创建一个库
我有一个名为 DataManager 的静态类。
public static class NewDataManager
{
public static Soccer Soccer { get; private set; }
static NewDataManager()
{
Soccer = new Classes.Soccer.Soccer();
}
}
足球课是这样的:
public class Soccer
{
public static Mapping.Mapping Mappings { get; private set; }
public Soccer()
{
Mappings = new Mapping.Mapping();
}
}
而 Mapping 类只是另一个公共空类。
当我将此项目用作另一个项目中的引用时,我可以像这样访问我的对象
NewDataManager.Soccer.Mappings
没关系,这就是我想要的。问题是,我可以初始化引用项目中的所有类,例如
var s = new Soccer();
var m = new Mapping();
我希望这些类只能通过我的NewDataManager 类访问,使用我的库的项目不应该能够初始化类。
我该如何限制呢?
【问题讨论】:
-
newdatamanager 的所有其他类 - 将它们设置为内部/私有而不是公共
-
Soccer本身不是静态的有什么原因吗?还是Mappings? -
@VisualBean internal/private 根本无法在他的项目中访问它——即使他想通过
NewDataManager访问它 -
@MattBurland 没有任何理由。我就是这样创建它们的。
标签: c# .net static-classes