Пример #1
0
        public delegate int MyDelegate(string str);//该委托可被任何一个与其且有相同标签(类型参数和返回相同类型)的方法

        static void Main(string[] args)
        {
            //2、实例化委托
            MyDelegate del = new MyDelegate(getStrLenth);

            MyDelegate del2 = getStrLenth;//实例化简写

            //3、调用
            Console.WriteLine(del.Invoke("hello delegate!"));
            Console.WriteLine(del("hello delegate!"));

            //GreetingClass.GreetingChinese("中国人");
            //GreetingClass.GreetingChinese("hello");
            DelGreeting delGreeting = new DelGreeting(GreetingClass.GreetingEnglish);

            GreetingClass.Greeting("hello", delGreeting);



            Console.ReadKey();
        }
Пример #2
0
 public static void Greeting(string name, DelGreeting greeting)//对扩展开放,对修改封闭
 {
     greeting.Invoke(name);
 }