普通实例方法和静态方法在委托中的区别

普通实例方法和静态方法在委托中的区别

简介:

普通方法和静态方法相比,当委托进行引用时,所指向的对象不同,静态方法的指向为null。具体判断代码如下:

   class Program
    {
        static void Main(string[] args)
        {
            Tartget.Test1();
        }
        public class Tartget
        {
            // 1.测试普通实例方法和静态方法在委托中的区别
            public delegate void mySpecDelegate();

            public static void Test1()
            {
                MR mr = new MR();
                //实例方法
                mySpecDelegate a = mr.f1;
                Console.WriteLine(a.Target == mr);   //true
                
                //静态方法
                mySpecDelegate b = MR.f2;
                Console.WriteLine(b.Target == null);  //true
            }

            public class MR
            {
                //普通方法
                public void f1()
                {
                }
                //静态方法
                public static void f2()
                {

                }
            }
        }

    }

 

posted @ 2021-05-14 14:13  码农阿亮  阅读(147)  评论(0编辑  收藏  举报