排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256
50010702506256
欢迎加群交流技术
分类:
Csharp
什么是事件
事件是一种特殊的委托,有限制的委托实例
事件只能在内部访问,内部执行,外部无法执行,所以不能破坏封装性。
Event关键字可以起到限制event的作用!
事件也是一种标准
事件只能+=或者-=
事件声明(与委托相似,只是多加了一个event)
//定义一个标准事件(标准的事件有两个参数) //sender是触发这个事件的控件源,即这个事件是由哪个控件触发的。 //e是个事件参数,EventArgs 是事件参数基础事件类。 public delegate void May(object sender, EventArgs e); //事件名 public event May miao;
事件传递字符串信息
//需要重新定义一个类,继承EventArgs,使事件接收字符串
public class CatMessage : EventArgs
{
public string message;
}
//通过定义的类来获取字符串
CatMessage catMessage = new CatMessage();
catMessage.message = "抓老鼠";事件的调用
//输出老鼠跑的方法
public static void Mouse_Run(object sender, EventArgs e)
{
//实例化字符串的类
ConsoleApplication1.Cat.CatMessage cat = e as ConsoleApplication1.Cat.CatMessage;
//实例化本身的颜色
Cat catcolor = sender as Cat;
Console.WriteLine(catcolor.color + "猫因为" + cat.message + "叫了");
//实例化猫的类
Cat cat = new Cat();
cat.color = "白";
//绑定自定义事件
cat.miao += Cat_miao;
cat.CathMouse();
}
//先实例化包含事件的类
Cat cat = new Cat();
//再绑定自定义事件
cat.miao += 方法名;
//执行包含事件 miao 方法
cat.CathMouse();评价