一次一个类的实例

本文关键字:实例 一次 一个 | 更新日期: 2023-09-27 18:06:29

假设我有一个名为TestClass的类。我希望应用程序一次只包含该类的一个实例。

我有一个可继承的类名单例,我这样使用它:

public class TestClass : Singleton<TestClass>
{
}

我这样使用

TestClass.Instance // Gives me one instance

问题是,有时,我需要经常重新实例化TestClass,使用新的参数等。

我应该创建一个静态实例,只要我想重新实例化,还是有更好的方法来做到这一点?

谢谢。

一次一个类的实例

Singleton应该在应用程序终止之前一直存在,不应该被重新实例化。如果您想更改该类的任何成员,请创建setter方法。

例如,如果你有一个单例类,其中有两个成员:

public int Integer1 { get; private set;}
public string String1 { get; private set;}

您可以创建两个setter,或者,如果这两个属性需要同时更改,则创建一个方法将它们设置为给定值:

public void SetIntAndString(int int1, string str1)
{
    Integer1 = int1;
    String1 = str1;
}

不应该存在任何删除或修改类实例对象本身的方法。