我正在尝试使用一个封装的成员事件。让我解释一下。我有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);
}
}我该怎么做呢?谢谢。
发布于 2012-02-07 05:21:27
如果objA的SaveProgress事件仅转发给MyClassB类的事件,则可以使用以下代码:
public event EventHandler<SaveProgressEventArgs> SaveProgress
{
add
{
lock(_obj.Event)
_obj.Event += value;
}
remove
{
lock(_obj.Event)
_obj.Event -= value;
}
}https://stackoverflow.com/questions/9167366
复制相似问题