gpt4 book ai didi

c# - 订阅一个类的多个实例的事件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:31:39 25 4
gpt4 key购买 nike

我有一个带有自定义 Shape 类的程序,如下所示

class Shape
{
public:
Event<ShapeArgs> shapeBurst;
virtual void onMousePress(); //inside this, shapeBurst event is notifed
};

我的程序中有 15 个 Shape 类的实例。我必须订阅所有这些实例的事件并提供一个通用的处理程序。但是,我在这里对如何订阅所有15个类的事件有疑问。
我真的应该在下面的表单中写下订阅 shapeBurst 方法的每个实例,还是有更好的方法来这样做?

shape.shapeBurst += new ShapeBurstEventHandler(ShapeBurstMethod);

最佳答案

如果您有 15 个形状对象,那么您可以使用对象数组而不是 15 个变量,并使用循环来订阅事件。

for(int i=0; i < shape.Length;i++)
shape[i].shapeBurst += new ShapeBurstEventHandler(ShapeBurstMethod);

关于c# - 订阅一个类的多个实例的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com