有没有办法限制C#中嵌套类的实例化?我想防止嵌套类从嵌套类以外的任何其他类实例化,但要允许从其他代码完全访问嵌套类。
最佳答案
通常我会为您想要向其他类公开的功能创建一个接口(interface),然后将嵌套类设为私有(private)并实现该接口(interface)。这样嵌套类定义就可以保持隐藏状态:
public class Outer
{
private class Nested : IFace
{
public Nested(...)
{
}
//interface member implementations...
}
public IFace GetNested()
{
return new Nested();
}
}
关于c# - 嵌套类构造函数的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2736827/