代码限制:在C#中的私有构造函数中创建多个对象

时间:2013-09-14 06:57:35

标签: c#-4.0

我想在C#中为Private构造函数创建一个代码。

我希望它只允许创建一个对象,但是当我尝试创建多个对象时,应显示一条显示no more object can be created的消息。

我不想在此代码中使用静态构造函数。

我如何在C#中执行此操作?

2 个答案:

答案 0 :(得分:0)

您可以使用将在私人counstructor中设置的静态计数器或标志来显示至少创建了一个实例。

但首先,我建议你注意Singleton模式。

答案 1 :(得分:-1)

简单,这是经典的单例模式:

public class MyClass
{
    public static MyClass Instance;
    private MyClass()
    {
        if (Instance != null)
            throw new InvalidOperationException("no more object can be created");
        // do other constructor logic
        Instance = this;
    }
}

请注意,同步已被忽略。此代码需要同步以实现线程安全目的。