我想在C#中为Private构造函数创建一个代码。
我希望它只允许创建一个对象,但是当我尝试创建多个对象时,应显示一条显示no more object can be created
的消息。
我不想在此代码中使用静态构造函数。
我如何在C#
中执行此操作?
答案 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;
}
}
请注意,同步已被忽略。此代码需要同步以实现线程安全目的。