C#基础之委托

因为委托也是面试常常问道的问题,分享一下我的理解。为什么使用委托。

  • 1、为什么使用委托?
    日常生活中,例如叫外卖,这里外卖小哥就是委托。
    还有像电视剧里面 家人去监狱里面探监,有东西会请狱警交给罪犯,这里狱警就是委托。
    从中可以得出委托是一个类,,因为只有类才有对象的概念,从而也体现了C#是面向对象的语言
  • 2、委托的使用
delegate void Mydelegate();//定义委托
Mydelegate md;//声明委托
md=new Mydelegate(Obj.Method);//委托的实例化
MyMethod(d);//把参数传递给方法(委托把方法当做参数传到另一个方法)
  • 3、委托的实际应用
    委托的实际应用,我用到了我的笔记《Socket通讯备忘录》,
    在里面因为.net的安全机制,控件不能跨线程调用,因此我使用了委托,将需要显示的参数,传递给控件。
//定义委托
 public delegate void DelegateShow(string msg);
 //声明和实例化委托,并且将方法  chatContentShow  当做对象传递给控件的 Invoke方法
 DelegateShow @delegate = new DelegateShow(chatContentShow);
 //控件使用委托的方法,并且传递参数
 chatContent.Invoke(@delegate, msg);
 //控件在方法内显示
 private void ContextShow()
        {
            chatContent.AppendText("客户端连接成功"+ ClientInfo+ "\r\n");
        }

猜你喜欢

转载自blog.csdn.net/qq_37555752/article/details/84964829