0

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

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

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

我该怎么做C#

4

2 回答 2

0

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

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

于 2013-09-14T08:17:41.220 回答
-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;
    }
}

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

于 2013-09-14T08:18:37.550 回答