C#基础——委托

以下所写是个人对委托的理解,为了加深对委托的理解和记忆,特地写下来。

委托的介绍:

  委托和事件是一对好搭档,事件在之后的文章中做介绍。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);
    }

猜你喜欢

转载自www.cnblogs.com/shendaxian/p/9627701.html