0

我有一个带有自定义 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);
4

1 回答 1

1

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

for(int i=0; i < shape.Length;i++)
  shape[i].shapeBurst += new ShapeBurstEventHandler(ShapeBurstMethod);
于 2013-01-28T05:07:58.703 回答