加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 非法侵入事件

发布时间:2020-12-15 22:06:02 所属栏目:百科 来源:网络整理
导读:我有一个控件,它有一个事件处理程序.我通常在许多页面上使用此控件来管理引发的事件.但现在,只需要将此控件放入另一个控件并随后放在页面上.有没有办法从原始控件中侵入事件? 正常情况 页 public event EventHandler MyEvent;protected virtual void OnMyEv
我有一个控件,它有一个事件处理程序.我通常在许多页面上使用此控件来管理引发的事件.但现在,只需要将此控件放入另一个控件并随后放在页面上.有没有办法从原始控件中侵入事件?

正常情况

>页>

public event EventHandler MyEvent;

protected virtual void OnMyEvent(EventArgs e)
{
   if(this.MyEvent != null) this.MyEvent(this,e);
}

Page.aspx

<ASP:Control1 id="ctrl1" runat="server" OnMyEvent="ctrl1_MyEvent" />

Page.aspx.cs

protected void ctrl1_MyEvent(object sender,EventArgs e)
    {
        ....
    }

特殊情况

>>

最佳答案
我建议创建自己的类,我称之为’SomeNameEventManager’.

在您的父控件中,您可以通过此类直接订阅/取消订阅.
在您的子控件中,您可以通过调用方法(例如OnChanged)来引发事件.

示例代码:

public class SomeNameEventManager
{
ChangedEventHandler(object sender,EventArgs e);
public static event ChangedEventHandler Changed;
public static void OnChanged(EventArgs e) { Changed(this,e); }
}

也许你想出一个更有活力的方法来做到这一点.

在任何情况下我猜,要走的路是在中间有一个班级.

相关文章

  • 侵入性与非侵入性注射指数
  • Java平台的非侵入式APM - AWACS
  • JavaScript - 好的非侵入式反垃圾邮件电子邮件混淆器?
  • xaml - “非侵入式代码隐藏”是一种好的还是坏的做法?
  • 获取非侵入式升级序列化C的私有数据成员
  • C非侵入式boost序列化boost :: smart_ptr
  • 算法 - 强制平均密码/非侵入性但有意义的限制的尝试次数?
  • c - 通用非侵入式缓存包装器
点击查看更多相关文章

转载注明原文:c# – 非法侵入事件 - 代码日志

解决方法

我建议创建自己的类,我称之为’SomeNameEventManager’.

在您的父控件中,您可以通过调用方法(例如OnChanged)来引发事件.

示例代码:

public class SomeNameEventManager
{
ChangedEventHandler(object sender,e); }
}

也许你想出一个更有活力的方法来做到这一点.

在任何情况下我猜,要走的路是在中间有一个班级.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读