三种实例化委托的方式(C# 编程指南)

1.定义的委托和方法

    delegate void TestDelegate(string s);
    static void M(string s)
    {
        Console.WriteLine(s);
    }

2.常规委托:

// Original delegate syntax required 
        // initialization with a named method.
        TestDelegate testdelA = new TestDelegate(M);

3.匿名方法

 

 // C# 2.0: A delegate can be initialized with
        // inline code, called an "anonymous method." This
        // method takes a string as an input parameter.
        TestDelegate testDelB = delegate(string s) { Console.WriteLine(s); };

 

4.Lambda 表达式

 // C# 3.0. A delegate can be initialized with
        // a lambda expression. The lambda also takes a string
        // as an input parameter (x). The type of x is inferred by the compiler.
        TestDelegate testDelC = (x) => { Console.WriteLine(x); };

 

 

posted @ 2013-10-29 15:29  jiangfei5945  阅读(328)  评论(0编辑  收藏  举报