所以我现在正在创建一个程序,我只需要创建一个特定类/子类的对象。但是我想能够在几个不同的按钮'事件'中编辑这个对象。 我希望一旦程序启动就可能在main函数中创建对象,但是然后能够使用“main”范围之外的对象,例如按下按钮时。我环顾四周,似乎无法找到任何特殊方式,这将起作用。我用Windows Forms在c#中编写它。
所以任何建议都会有所帮助,谢谢!
答案 0 :(得分:0)
您正在寻找的是Singleton模式。
它通过在类上公开一个静态属性来工作,该属性将始终返回它的相同实例:
public sealed class MySingleInstanceClass
{
private static readonly MySingleInstanceClass instance = new MySingleInstanceClass();
public static MySingleInstanceClass Instance
{
get
{
return instance;
}
}
static MySingleInstanceClass()
{
}
// Use a private constructor so no one besides your own class can create an instance of it
private MySingleInstanceClass()
{
}
public string SomeProperty { get; set; }
}
所以现在,无论何时(以及何时)你需要访问这个类,你都会这样使用它:
MySingleInstanceClass.Instance.SomeProperty = "foo";