代码之家  ›  专栏  ›  技术社区  ›  billmaya

在.NET委托连接中顺序有什么关系?

  •  1
  • billmaya  · 技术社区  · 14 年前

    情况是这样的。我正在检查一些我没有编写的SDK代码,因为我的任务是起草开发人员的文档。在一个类中,在构造函数中,事件处理设置如下:

    _engine.ReceiverEvents_OnPosition += OnPosition;
    _engine.ConnectionEvents_OnDeviceStatus += OnDeviceStatus;
    _engine.ConnectionEvents_OnErrorStatus += OnErrorStatus;
    _engine.ReceiverEvents_OnConstellation += OnConstellation;
    

    在另一个类中,在方法(不是构造函数)中,事件处理的设置如下:

    _captureManager.PositionLogged += CaptureManager_PositionLogged;
    _captureManager.GeometryCaptureStarted += CaptureManager_GeometryCaptureStarted;
    

    顺序是先调用方法,然后引发事件。

    我的问题是-在设置事件处理时引发的事件和调用的方法的顺序是任意的(顺序无关紧要)还是重要的(不同的顺序会给出不同的结果)?

    提前谢谢。

    3 回复  |  直到 14 年前
        1
  •  6
  •   John Weldon user3678248    14 年前

    我不认为订购可以改变。我怀疑您的事件名称和方法名称只是混淆。

    <object>.<event name> += <event handler>;
    
        2
  •  2
  •   JSBÕ±Õ¸Õ£Õ¹    14 年前

    这些都是完全相同的声明。这个 命名 += 是事件,右边的对象是处理程序。

        3
  •  0
  •   Marc Gravell    14 年前

    在任何情况下 标准 能够 有习惯 add remove 做疯狂事情的实现。但那将是。。。疯子。