接触C#这段时间,很多内容容易理解,但也也有很多内容总是无法踏过门槛,就像Delegate 委托,这种新的机制是Labview不具备的,他的一个用法,也让我们这些从labview跨越过来的coder,很是不别扭,不过别扭归别扭,Delegate确实比较方便,至少在如下方面应用时。
public class calculate { public delegate int Count (int a,int b); public static int plus(int a, int b) { int c = a + b; return c; } public static int minus(int a, int b) { int c = a - b; return c; } public int m() { Count cd = new Count(calculate.plus); int m = cd(1, 2); return m; } }
通过上例 个人感觉delegate更像labview中的vi 引用
与委托的签名(由返回类型和参数组成)匹配的任何方法都可以分配给该委托。这样就可以通过编程方式来更改方法调用,还可以向现有类中插入新代码。只要知道委托的签名,便可以分配自己的委托方法。