码迷,mamicode.com
首页 > Windows程序 > 详细

C#对委托的初步理解理解

时间:2017-03-21 11:04:42      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:dem   gre   private   names   string   src   console   定义   注册   

作为新手对委托的学习:

1.定义委托:委托实际上是一个类,在定义委托前就知道了方法的返回类型和方法的参数类型(可以把委托理解为只知道方法的返回类型和方法的参数类型,不知道方法体)

public  delegate string TestDelegate(string test);

2.实例:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Demo

{

    public delegate string TestDelegate(string name);//定义委托,委托实际上是一个类

 

    //新建一个类来测试委托调用方法

    public class Test

    {

        public void GreetPeople(string name, TestDelegate delegate1)

        {

            //if (delegate1 != null)//如果有方法注册委托变量

            //{

            //    delegate1(name);//通过委托调用方法

            //}

            delegate1?.Invoke(name);//(与上面的if等价)

        }

    }

    class Program

    {

        private static string TestMethod(string name)

        {

            Console.WriteLine("你好," + name);

            return null;

        }

 

        static void Main(string[] args)

        {

            Test gm = new Test();

 

            //使用委托调用TestMethod方法

            gm.GreetPeople("panter", TestMethod);

            Console.WriteLine();

 

            //使用委托调用lambda

            Console.Write("使用了lambda:");

            gm.GreetPeople("潘特", lambdatest =>

            {

                Console.WriteLine("你好,"+lambdatest);

                return null;

            });

            Console.ReadKey();

        }

    }

}

结果:

技术分享

 

C#对委托的初步理解理解

标签:dem   gre   private   names   string   src   console   定义   注册   

原文地址:http://www.cnblogs.com/panter/p/6592920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!