C#委托现实示例分析
本文实例讲述了C#委托现实的用法。分享给大家供大家参考。具体分析如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceDelegate{
//热水器
publicclassHeater{
privateinttemperature;
publicdelegatevoidBoilHandler(intparam);
//声明委托
publiceventBoilHandlerBoilEvent;
//声明事件
//烧水
publicvoidBoilWater(){
for(inti=0;i<=100;i++){
temperature=i;
if(temperature>95){
if(BoilEvent!=null){
//如果有对象注册
BoilEvent(temperature);
//调用所有注册对象的方法
}
}
}
}
}
//警报器
publicclassAlarm{
publicvoidMakeAlert(intparam){
Console.WriteLine("Alarm:嘀嘀嘀,水已经{0}度了:",param);
}
}
//显示器
publicclassDisplay{
publicstaticvoidShowMsg(intparam){//静态方法
Console.WriteLine("Display:水快烧开了,当前温度:{0}度。",param);
}
}
classProgram{
staticvoidMain(){
Heaterheater=newHeater();
Alarmalarm=newAlarm();
heater.BoilEvent+=alarm.MakeAlert;
//注册方法
heater.BoilEvent+=(newAlarm()).MakeAlert;
//给匿名对象注册方法
heater.BoilEvent+=Display.ShowMsg;
//注册静态方法
heater.BoilWater();
//烧水,会自动调用注册过对象的方法
}
}
}
输出为:
Alarm:嘀嘀嘀,水已经96度了: Alarm:嘀嘀嘀,水已经96度了: Display:水快烧开了,当前温度:96度。
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下