Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查对象是否已具有指定事件集_C# - Fatal编程技术网

C# 如何检查对象是否已具有指定事件集

C# 如何检查对象是否已具有指定事件集,c#,C#,我有一个名为MifareReader的类。我将其实例化为Global,因此我的表单上有: MifareReader mf = new MifareReader() private void Main_Load(object sender, EventArgs e) { mf.MyEvent += new EventName(My_Method); Connect(); } private void My_Method() { //Code Here } private

我有一个名为
MifareReader
的类。我将其实例化为
Global
,因此我的表单上有:

MifareReader mf = new MifareReader()

private void Main_Load(object sender, EventArgs e)
{
   mf.MyEvent += new EventName(My_Method);
   Connect();  
}

private void My_Method()
{
  //Code Here
}

private void Connect()
{
  //Some Code Here
  mf.MyEvent += new EventName(My_Method); //The same code of the Main_Load
}
现在让我解释一下。在我的
Main\u加载中
我已经设置了事件
MyEvent
,并将其方法设置为
my\u方法
,对吗?另外,我调用了另一个方法
Connect()
,这个方法重复了我在
Main\u加载中所做的操作

mf.MyEvent += new EventName(My_Method);
对吧?

因此,我不知道为什么,但如果我不重复此代码,应用程序不会在不关闭/重新打开应用程序的情况下启动
MyEvent

好的,它的工作方式很完美,但是当我关闭/重新打开我的应用程序时,它会触发
MyEvent
两次。那么,有办法解决这个问题吗?

也许可以检查
mf.MyEvent
是否已经为其设置了方法?

检查是否可以验证是否在事件中设置了方法,但首先让我问一下:如果在
Main\u Load
中删除第一个集,会发生什么?@JonnyPiazzi My method
Connect()
负责设置my rfdi设备的配置并将其保存在my app.config上。我认为,当已经有一个配置集时,有必要在我的主加载中加载该代码。但它的工作完美删除,谢谢你乔尼+1.