c# - 我可以限制哪些类可以实例化另一个类吗?

标签 c# oop

<分区>

Possible Duplicate:
Factory pattern in C#: How to ensure an object instance can only be created by a factory class?

假设我有一个知道如何制作正方形的工厂类。如果我觉得只有 Factory 类知道如何制作一个正方形并且我想阻止其他人(即使在同一个程序集中)创建一个 Square 那么正确的(如果有这样的事情)方法是什么?

最佳答案

根据您的情况,您可以这样做:

public class Square
{
    // Only Square and classes nested within it can call this
    private Square()
    {
    }

    public class Factory
    {
        public Square CreateSquare()
        {
            return new Square();
        }
    }
}

然后:

Square.Factory factory = new Square.Factory();
Square square = factory.CreateSquare();

关于c# - 我可以限制哪些类可以实例化另一个类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9127032/

相关文章:

ruby - 从 Array 继承时获取#with_index

javascript - JS 获取并使用父对象的变量

C# DDD - 域对象创建

C#哈希密码创建盐问题

c# - 在使用 XAML Islands 的 WPF 应用程序中托管 UWP 控件的 Windows 10 真正最低支持版本是什么?

c# - 关闭主窗体

C++:关于指针和引用,什么时候使用它们?

java - 我可以在公共(public)方法中声明私有(private)变量吗?

c# - 在 msbuild 中使用复制任务和解压缩任务

C# 使用同义词解析关键短语