yyy123321123 2015-06-03 00:55 采纳率: 100%
浏览 1553
已采纳

如果只有一个方法还有必要用委托么?

在委托这个地方卡了很久,在网上也看了很多文章,基本上都是说的委托的语法,偶尔有介绍使用场景,但是还是一直没弄明白,总有点迷迷糊糊的,做技术就应该吧问题搞的明明白白,要不然还不如不搞,希望大家给讲解下这个问题。谢谢了
比如下面的代码

         static Func<int, int, int> CalculateHandler = (x, y) => x + y;

        static void Main(string[] args)
        {
            var result = CalculateHandler(5, 10);
            Console.WriteLine(result);
        }

直接写个方法不也是很简短么,而且还少了个变量

        static   int Calculate(int x, int y)
        {
            return x + y;
        }

也许你要说,以后你增加减法,除法更多的运算的时候可以复用...
我开头已经说了“只有一个方法的时候”

  • 写回答

4条回答 默认 最新

  • 知常曰明 2015-06-03 01:57
    关注
    • 如何取舍,是否需要委托,甚至于是否需要使用某个设计模式等,并不是语法上能解决的问题。你现在这样问谁也无法回答你。这个是根据业务来选择的。
    • 举个例子来说。
    • 与一个设备通过TCPIP连接。设备每次回返回当时的交易内容。由于只有一个类型的数据包需要进行解析,因此就直接写了。
    • 随后发现需要获得设备的状态,于是重新定义了一个类型的数据包。现在两个包了,是否需要使用委托呢?还是直接if判断后分别解析?
    • 随着业务的发展,通讯使用到的数据包类型越来越多,这时候你肯定会觉得要使用委托了。
    • 那么现在反过来,你觉得在刚开始的时候,是否需要使用委托呢?
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作