知识大全 嵌套类中是否可以触发外部类中定义的事件
Posted 事件
篇首语:知识的领域是无限的,我们的学习也是无限期的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 嵌套类中是否可以触发外部类中定义的事件相关的知识,希望对你有一定的参考价值。
大家都知道 只有在定义事件的类中才能触发事件
今天看到一个资料上说就是在定义事件的类的嵌套类中也不能触发事件!为了搞清楚原因 我进行了如下测试
class Program static void Main(string[] args) MyClass Test t = new MyClass Test(); t Func();
public class MyClass public delegate void MyEventHandler(object sender EventArgs e); public event MyEventHandler MyEvent; public class Test public void Func() MyClass a = new MyClass(); object o = new object(); EventArgs e = new EventArgs(); a MyEvent(o e); //在嵌套类中尝试触发事件 编译可以通过 运行时候却抛出NullReferenceException异常
熟悉 NET底层原理的人都知道 事件成员在编译的时候实际是生成一个私有的委托字段和两个方法(一个add_MyEvent方法 负责向委托链添加委托的实例 还有一个remove_MyEvent方法 作用刚好相反)
按照常规的想法 是能够通过嵌套类来访问外部类的私有成员的 也就是说在嵌套类中应该是可以触发外部类定义的事件的
真是汗颜啊!无地自容了 在这里向大家道歉!
昨天的代码忘记订阅事件了!太低级了啊!
结论 嵌套类中应该是可以触发外部类定义的事件的!
cha138/Article/program/net/201311/13430相关参考
单元机组定义为触发事件的接点信号大致包括哪些?当发生这些触发事件时,数据采集系统应如何工作?
单元机组定义为触发事件的接点信号大致包括哪些?当发生这些触发事件时,数据采集系统应如何工作?参考答案:单元机组定义为触发事件的接点信号大致包括:总燃料跳闸(MFT)、锅炉跳闸、汽机跳闸、电气跳闸、控制
单元机组定义为触发事件的接点信号大致包括哪些?当发生这些触发事件时,数据采集系统应如何工作?
单元机组定义为触发事件的接点信号大致包括哪些?当发生这些触发事件时,数据采集系统应如何工作?参考答案:单元机组定义为触发事件的接点信号大致包括:总燃料跳闸(MFT)、锅炉跳闸、汽机跳闸、电气跳闸、控制
知识大全 PowerBuilder使用自定义事件触发键盘Enter事件
PowerBuilder使用自定义事件触发键盘Enter事件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
代码内含说明(界面是两个文本框textboxtextbox和一个button界面的Load事件button的click事件)usingSystem;usingSystemCollectionsGe
JQuery的自定义事件代码,触发,绑定 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 自定义事
JQuery的自定义事件代码,触发,绑定简单实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下面
C#高级编程:显示DataSet类中的数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
C#类中索引器的使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 索引器(Indexer)是C
接口interface 初期理解可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的那么该类可以通过接口的形式来表示 class用于定义类 interface用于定义接口接口定义时格式特点
JavaMath类中的新功能,第1部分:实数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要