예제 #1
0
        static void Main(string[] args)
        {
            DelegateClass dClass = new DelegateClass();

            dClass.Execute(Print);
            Console.ReadKey();
        }
예제 #2
0
        static void Main(string[] args)
        {
            // _________________________________________在自己的类中加入委托;
            TryClass a = new TryClass();

            DelegateClass dc = new DelegateClass();

            dc.PrintStringdele += new PrintString((prt_str) => {
                Console.WriteLine("创建一个委托链,这是第一次" + prt_str);
            });
            dc.PrintStringdele += new PrintString((prt_str) => {
                Console.WriteLine("创建一个委托链,这是第二次" + prt_str);
            });
            dc.m_member1 = "Muti_Delegate";
            dc.PrintAllDel("Muti_Delegate");

            // ______________BCL提供的很多类中都有委托的应用,以下应用了匿名函数作为实例化的委托
            strlist.Add("1"); strlist.Add("2"); strlist.Add("3");
            List <string> findret = strlist.FindAll(new Predicate <string>(delegate(string instring) {
                if (instring == "1")
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }));

            // _____________BCL提供了很多类中都有委托应用,以下应用了Lambda表达式作为实例化的委托
            strlist.ForEach((str) =>
            {
                Console.WriteLine("in ForEach " + str);
            });

            // 最终让窗口停等;
            Console.ReadLine();

            return;
        }