C#中的事件

发布时间:2026/7/27 21:04:00
C#中的事件 C#中的事件本质上也是存储与传递函数的容器其在使用上与委托几乎无异只不过更加的安全其安全性体现在事件只能作为类接口或结构体的内部成员不允许在类外进行赋值操作也不允许在类外直接调用仅能通过类内封装间接调用。这样做的目的也就在于为了防止外部对委托的的置空与随意调用对委托进行了一次封装从而提升其安全性。using System; using System.Collections.Generic; namespace lesson12 { class Test { public Action myFun; public event Action myEvent; public Test() { myFun TestFun; myFun TestFun; myFun - TestFun; myFun.Invoke(); myEvent TestFun; myEvent TestFun; myEvent - TestFun; myEvent.Invoke(); } public void TestFun() { Console.WriteLine(123); } } class Program { static void Main(string[] args) { Test t new Test(); t.myFun null; t.myFun TestFun; //事件不允许直接赋值但允许增加移除函数 t.myEvent TestFun; t.myEvent - TestFun; } static void TestFun() { } } }