首页 > 代码库 > C#之委托初步
C#之委托初步
传说中的东西,今天兴趣来了,就研究了研究,把大概什么是委托,如何使用委托稍微梳理了一下。
1、什么是委托
首先,Class(类)是对事物的抽象,例如,哺乳动物都是胎生,那么你可以定义一个哺乳动物的基类,然后一大片的驴,马,狗,猪都从这继承而去。
委托可以认为是同一类函数(function,也叫做方法)的抽象,代表的一系列同返回类型,同形参列表的函数。
委托是个类型,就像int之流的一种类型。一个委托类型的变量可以指向一串同类型的函数,到时候需要调用这一串函数的时候,就可以调用这个委托类型的变量来使这些函数执行。
2、如何使用委托:
先定义一个类,里面包含了一些具体的方法
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 //方法类就是需要实现具体功能的一些函数 6 namespace DelegateTest 7 { 8 class Hit 9 {10 public void hitxiaoming()11 {12 Console.WriteLine("xiaoming was hited \n");13 }14 public void hitdahong()15 {16 Console.WriteLine("dahong was hitted\n");17 }18 public void hitxiaoweng()19 {20 Console.WriteLine("xiaoweng was hitted\n");21 }22 }23 }
在主程序中通过委托调用这三个函数,代码如下:
主要分四步 声明委托类型,定义委托变量,绑定函数,调用委托
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DelegateTest{ class Program { delegate void hitSomeBody();//声明一个委托类型(不是变量)此时,hitSomeBody相当于数据类型,例如int private hitSomeBody hitone;//定义一个委托类型的变量,此时hitone是变量 private Hit hit = new Hit(); public void iniDelegate() { this.hitone += hit.hitdahong;//将函数绑定到委托变量中等效于hitone = new hitone(hitdahong); this.hitone += hit.hitxiaoming; this.hitone += hit.hitxiaoweng; hitone();//执行委托 } static void Main(string[] args) { Program p = new Program(); p.iniDelegate(); } }}
C#之委托初步
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。