博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Delegate类
阅读量:6377 次
发布时间:2019-06-23

本文共 2174 字,大约阅读时间需要 7 分钟。

Delegate作用 Delegate(托付、委托)类,通过它可 引用 静态方法或引用实例的方法。 一般用于事件和处理的方法关联 Delegate基本写法: ① 声明Delegate。 写法:  访问修饰符 delegate 返回值类型  自定义方法名(参数类型 参数,......); 注意参数要和调用方法的参数对应起来。 ② 编写引发Delegate的函数 ③ 编写Delegate操作的方法。 ④ 使用 例子:
using System;using System.Collections.Generic;using System.Text;namespace DelegateDemo{    class Class1    {        delegate double processDelegate(double db1, double db2);        static double Multiply(double db1, double db2)        {            return db1 * db2;        }        static double Divide(double db1, double db2)        {            return db1 / db2;        }        static void NamedMethod(string strInput,double dbNum1,double dbNum2)        {            processDelegate process;                       if (strInput == "M")                process = new processDelegate(Multiply);            else                process = new processDelegate(Divide);            Console.WriteLine("结果为:{0}", process(dbNum1, dbNum2));        }        static void AnonymousMethod(string strInput, double dbNum1, double dbNum2)        {            processDelegate process;            if (strInput == "M")                process = delegate(double db1, double db2){
return db1 * db2;}; else process = delegate(double db1, double db2) { return db1 / db2; }; Console.WriteLine("结果为:{0}", process(dbNum1, dbNum2)); } /// /// 应用程序的主入口点。 /// [STAThread] static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 Console.WriteLine("请输入两个小数,用逗号分割"); string strInput = Console.ReadLine(); int commmaPos = strInput.IndexOf(','); double dbNum1 = Convert.ToDouble(strInput.Substring(0, commmaPos)); double dbNum2 = Convert.ToDouble(strInput.Substring(commmaPos + 1)); Console.WriteLine("输入M表示乘法,或者D表示除法"); strInput = (Console.ReadLine()).ToUpper(); //使用命名方法 Console.WriteLine("使用命名方法委托"); NamedMethod(strInput,dbNum1,dbNum2); //使用匿名方法 Console.WriteLine("使用匿名方法委托"); AnonymousMethod(strInput, dbNum1, dbNum2); } }}

 

转载地址:http://qgvqa.baihongyu.com/

你可能感兴趣的文章
java泛型
查看>>
“用户、组或角色'XXX'在当前数据库中已存在”问题
查看>>
Volatile关键字的解读
查看>>
LeetCode【169. Majority Element】
查看>>
微信小程序登录 该死的官方文档TypeError: the JSON object must be str, not 'bytes'
查看>>
0x800a01bd - JavaScript 运行时错误: 对象不支持此操作
查看>>
dos下根据端口找到对应的程序
查看>>
解决Win10 SVN图标不显示问题
查看>>
IntentService与Service的区别
查看>>
js验证邮箱
查看>>
Ubuntu16.4下RStudio1.1.447 中文输入问题的解决方案
查看>>
函数的嵌套+nonlocal和global关键字(重点)
查看>>
网络流24题题解
查看>>
IOS-开发日记24 - UITableViewCell点击两次才跳转解决办法
查看>>
Java StringBuilder 高性能用法总结
查看>>
Spring-IOC
查看>>
poj 1258 -- Agri-Net
查看>>
软件测试 -- 在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题?...
查看>>
软件项目测试作业2
查看>>
[UML]UML系列——类图class的依赖关系
查看>>