C# 7.1 .Net Framwork4.7 VS2017环境下,方法的引用与调用

方法的调用比较好理解,就是给方法传递实参,执行方法代码。

方法引用涉及委托,委托签名与其引用的方法必须一致。以下demo说明方法调用与引用在写程序时的区别:

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 方法的引用与调用
{
    /// <summary>
    /// 定义一个委托,签名:参数两个double,返回一个double
    /// </summary>
    /// <param name="d1"></param>
    /// <param name="d2"></param>
    /// <returns></returns>
    public delegate double GetResult(double d1, double d2);
    class Program
    {
        static void Main(string[] args)
        {
            //方法的调用
            double num1 = 10;
            double num2 = 15;
            double result_CallMethod = GetSum(GetSum(num1, num2), 25);//result_CallMethod = 50

            //方法的引用
            double result_ReferenceMethod = Calculate(GetSum, num1, num2);//result_ReferenceMethod = 25
        }

        static double GetSum(double a1, double a2) => a1 + a2;

        static double Calculate(GetResult getresult,double d1, double d2) => getresult(d1, d2);
    }
}

so simple and clear,,,

相关推荐
cici1587432 分钟前
C#实现三菱PLC通信
java·网络·c#
聪明努力的积极向上2 小时前
【C#】线程解析:从“页面未响应”到彻底理解 .NET 中的 UI 线程、Task、Thread、COM 与消息泵
ui·.net
CreasyChan4 小时前
Unity Shader 入门指南
unity·c#·游戏引擎·shader
ysdysyn5 小时前
C# Modbus RTU 多从站控制全攻略:一端口,双轴控制
开发语言·c#·mvvm·通讯·modbus rtu
TypingLearn6 小时前
2026年,让.NET再次伟大
windows·c#·.net·sdk·netcore
ServBay6 小时前
.NET 10 与 C# 14 更新速览,代码更少,性能更好
后端·c#·.net
玩泥巴的9 小时前
如何设计易维护、低学习成本的飞书.NET SDK组件
c#·二次开发·飞书·roslyn
Fighting_p10 小时前
【预览word文档】使用插件 docx-preview 预览线上 word 文档
开发语言·c#·word
jiushidt13 小时前
Things About ArcGISPro
arcgis·c#·.net·arcgispro
雪雁14 小时前
CodeSpirit 多语言国际化使用指南(Beta)
c#·asp.net·.net 10·codespirit