调用设计器在 SDK - C# 中创建的事件

本文关键字:创建 事件 SDK 调用 | 更新日期: 2023-09-27 18:31:35

所以我有这段代码,我不明白为什么它的工作原理。这是代码。

using Microsoft.Kinect;

KinectSensor.KinectSensors.StatusChanged += KinectSensors_StatusChanged;

private void KinectSensors_StatusChanged(object sender, StatusChangedEventArgs e)
    { ... }

首先是一些信息(对于不知道的人)。"KinectSensore"是一个对象。每当 kinect 更改状态(它是一个事件处理程序)时,都会调用"状态更改"。

我不完全明白的是整个第二代码是如何工作的,以及"e"在被调用时会得到什么。

调用设计器在 SDK - C# 中创建的事件

状态更改时,StatusChangedKinectSensorCollection引发,例如在该集合中添加或删除 Kinect。 它通常用于初始化新连接的传感器,或在断开连接时进行清理。 您可以在工具包中提供的许多示例中看到它的实际效果。

StatusChangedEventArgs只有两个成员:

  • Sensor:获取已更改状态的传感器。
  • Status :获取传感器的状态,指示它是否已连接并准备就绪。

您将使用 StatusChangedEventArgs 对象来访问新添加的传感器(您可以从Status成员那里知道该传感器)以对其进行初始化。 另一方面,当特定Sensor断开连接时,您将使用相同的对象来清理事件处理程序和与特定关联的其他对象。

更新

在这种情况下,+=运算符将事件处理程序添加到StatusChanged事件。 可以通过以下链接了解如何使用 += 在代码中添加事件处理程序:http://msdn.microsoft.com/en-us/library/ms743596.aspx

此页面在代码注释中提到了-=。 当+=添加事件处理程序时,-=将其带走。

sendere是从事件发送到事件处理程序的参数。 您可以在 MSDN 中搜索有关它们的所有详细信息,以及与 C# 相关的任何其他内容。 sender是发送事件的对象 - 它将是一个 Kinect 传感器。 e有两个成员,我在上面描述了。