事件委托
//事件和委托实例
public class Xiaoshou
{
public string Mingzi { get; set; }
public delegate void WaiqinEventHandler(object e, WaiqinEventArgs arg);
public event WaiqinEventHandler WaiqinHanlder;
public Xiaoshou(string mingzi)
{
Mingzi = mingzi;
}
public void WaiqinLa(object e, WaiqinEventArgs arg)
{
if (WaiqinHanlder != null)
{
WaiqinHanlder(e, arg);
}
}
}
public class WaiqinEventArgs : EventArgs {
public string Msg { get;set;}
public DateTime EventTime { get; set; }
public WaiqinEventArgs(string msg) {
Msg = msg;
EventTime = DateTime.Now;
}
}
public class KaoqinDandang
{
public KaoqinDandang(string name) {
Console.WriteLine("我是考勤担当;"+name);
}
public void Kaoqin(object e, WaiqinEventArgs args)
{
Console.WriteLine("考勤担当确认考勤,确认用户:;" + (e as Xiaoshou).Mingzi+"的考勤;");
}
}
public class boss
{
public boss(string name)
{
Console.WriteLine("我是老板:" + name);
}
public void shenhe(object e, WaiqinEventArgs args)
{
Console.WriteLine("老板认可了用户:;" + (e as Xiaoshou).Mingzi + "的外勤;");
}
}
public class program {
static void main() {
Xiaoshou xs = new Xiaoshou("小李子");
KaoqinDandang kd = new KaoqinDandang("小六子");
boss bs = new boss("大牛子");
WaiqinEventArgs args=new WaiqinEventArgs("我要外勤");
xs.WaiqinHanlder += new Xiaoshou.WaiqinEventHandler(kd.Kaoqin);
xs.WaiqinHanlder += new Xiaoshou.WaiqinEventHandler(bs.shenhe);
xs.WaiqinLa(xs, args);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗