以下所写是个人对委托的理解, 为了加深对委托的理解和记忆, 特地写下来.
委托的介绍:
委托和事件是一对好搭档, 事件在之后的文章中做介绍. C# 中常使用委托做回调.
委托其实是一个类, 在编译之后的编译文件中可以看到, 委托的类型是 class.
1. 声明委托
使用关键字: delegate,
如下所示: 这里声明了一个没有返回值的委托.
public delegate void ConsloleWrite(string str);
2. 使用委托
- public class Program
- {
- static void Main(string[] args)
- {
- Console.Write("请输入:");
- string str = Console.ReadLine();
- TestDelegate td = new TestDelegate();
- td.DelegatePrint(Convert.ToInt32(str), print);
- }
- public static void print<T>(T str)
- {
- Console.WriteLine(str);
- Console.ReadKey();
- }
- }
- public class TestDelegate {
- public void DelegatePrint<T>(T str,ConsloleWrite<T> write) {
- write(str);
- }
- public delegate void ConsloleWrite<in T>(T obj);
- }
来源: http://www.bubuko.com/infodetail-2763651.html