繁体   English   中英

一次一个类的实例

[英]One instance of a class at a time

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

我有一个可遗传的类名Singleton ,我像这样使用它:

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;
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM