繁体   English   中英

如何获取有关事件的调试信息

[英]How to get debug information about Events

我有一个具有以下设计的程序

  • 几个单独的类,每个类都实现一种算法
  • Windows窗体界面,用于提供输入以运行不同的算法,而语音命令执行完全相同的操作。
  • 通过单击单独的按钮来运行每种算法
  • 每种算法都会引发一些事件(特定于算法)
  • 事件监听器依次通过
  • 表格AND上的标签通过语音API,使用发言人说出结果

我面临的问题是,在调试时,如果一种算法出现问题,其他算法有时会自动启动。 我希望能够随时了解在某个事件中注册了哪些事件侦听器。 我正在使用VS2008和C#。

我还想知道是否将Timer用作局部变量,并在每个类中向该计时器添加事件侦听器。 一类的计时器有可能触发其他类的侦听器。 我是这个事件侦听器的新手,不确定我是否缺少一些基本信息,这些基本信息导致我提出这个问题,或者是某个原因。

我建议您掌握调试的基础知识,我认为这是您现在所需要的。 是调试基础的教程。 熟悉F10和F11键。 通过使用断点,您可以获得算法的执行顺序。

第二,一个类的计时器可能会触发其他类的侦听器,这是一个示例。

MyClass myClass = new MyClass();
Timer timer1 = new Timer();
timer1.Tick += myClass.TimerCallback; // subscribe to other's class method
timer1.Interval = 1000;
timer1.Start();

public class MyClass
{
    public void TimerCallback(object sender, EventArgs eventArgs)
    {
        Console.WriteLine("Timer Called by: " + sender);
    }
}

如果您想获取回调列表,请订阅您的回调,请使用此答案 ,但我认为,如果您习惯于调试,则现在不需要。

暂无
暂无

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

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