我有一个正在生成事件的课程。
通常我会注册this.obj.testEvent += new oClass.LogHandler(handleIt);
类oClass有一个包含另一个类的实例的属性。
public class oClass
{
public qClass qclassobj;
}
qClass有一个包含pClass等实例的属性。
当我创建一个oClass实例时,也会创建其他类。
是否可以通过构造函数或类似的方式传递参数,以递归方式注册所有事件(具有相同的名称和属性)?
因此,即使ytime testEvent
在其中一个类中生成,handleIt
函数也会被调用。
我希望你理解我的问题,感谢任何帮助:)
KR
答案 0 :(得分:1)
如果我理解你的问题,可以使用委托传递:
class RootClass
{
public event EventHandler<ResolveEventArgs> Resolve;
public RootClass() { }
public RootClass(EventHandler<ResolveEventArgs> resolve)
{
if (resolve != null)
Resolve += resolve;
}
}
class InheritedClass : RootClass
{
public InheritedClass() { }
public InheritedClass(EventHandler<ResolveEventArgs> resolve)
: base(resolve) // Is this what you are looking for?
{
}
}