在一个类中只运行一次代码
本文关键字:运行 代码 一次 一个 | 更新日期: 2023-09-27 18:26:58
我需要将一个事件处理程序附加到一个对象,并将此代码放在一个按钮单击事件上。然而,我注意到,这将导致每次单击都会多次附加同一事件。
有没有一种方法可以在创建类时运行一段代码?有问题的类是一个静态类,顺便说一下
我可以做一些类似的事情:
if (bool == false)
{
attach event handler;
bool = true;
}
只是不确定这样做是否正确。谢谢。
有一些静态构造函数,(原则上)每个类只运行一次。
类似这样的东西:
public static class MyStaticClass
{
public static int MyStaticProperty;
//no accessors required, as this is never explicitly invoked
static MyStaticClass() //no parameters either
{
MyStaticProperty = 100;
}
}
....
//writes: 100
Console.WriteLine(MyStaticClass.MyStaticProperty);
然而,如果构造函数不这样做,因为你有一些参数需要设置,或者有一些先决条件的步骤需要完成,我确实建议你进行私有布尔检查,就像你所做的那样。
您使用构造函数-它将在创建类时运行。
构造函数是在创建类或结构的对象时执行的类方法。它们与类或结构同名,通常初始化新对象的数据成员。
对于静态类,使用静态构造函数:
静态构造函数用于初始化任何静态数据,或执行只需要执行一次的特定操作。它是在创建第一个实例或引用任何静态成员之前自动调用的。
尝试
if(Button1.Click == null)
Button1.Click += new System.EventHandler(this.myEventHandler);