我试图推荐一个封装的成员事件。让我解释。我有MyClassA,它有一个MyClassB _obj的私有成员:
public class MyClassA
{
private MyClassB _obj;
public MyClassA()
{
_obj = new MyClassB();
}
}
MyClassB有SaveProgress事件。
对于客户端应用程序,MyClassB是不可见的。我们需要通过MyClassA来处理它的事件:
public partical class _Default: System.Web.UI.Page
{
protected void button1_Click(object sender, EventArgs e)
{
MyClassA objA = new MyClassA();
// We need to handle it's event through MyClassA
// objA.SaveProgress += new EventHandler<SaveProgressEventArgs>(objA_SaveProgress);
}
}
我该怎么做?感谢。
答案 0 :(得分:2)
如果objA的SaveProgress事件只转发给MyClassB类的事件,那么你可以使用它:
public event EventHandler<SaveProgressEventArgs> SaveProgress
{
add
{
lock(_obj.Event)
_obj.Event += value;
}
remove
{
lock(_obj.Event)
_obj.Event -= value;
}
}