static void Main(string[] args) { //kansaliw ma 3 kanjiw hnaya kankatbo i kan instancemaken in delegate CalculateDelegate del1 = new CalculateDelegate(Add); CalculateDelegate del2 = new CalculateDelegate(Substract); CalculateDelegate del3 = new CalculateDelegate(Multiply); CalculateDelegate del4 = new CalculateDelegate(Divide); //add 4 delegate to del5 which is multicast delegate CalculateDelegate del5 = del1 + del2 + del3 + del4; del5.Invoke(20, 5); del5 -= del2; Console.WriteLine("----------------------------"); Console.WriteLine(); del5.Invoke(10, 2); Console.WriteLine("----------------------------"); del5 += del2; del5 += del2; del5 += del2; del5.Invoke(6, 3); }
//public static double Calculate(double a, double b, Operator o) //{ // switch (o) // { // case Operator.Add: // return Add(a, b); // case Operator.Subtract: // return Subtract(a, b); // case Operator.Multiply: // return Multiply(a, b); // case Operator.Divide: // return Divide(a, b); // default: // return 0; // } //} /// <summary> /// 委托替代Calculate 取消switch判断 /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <param name="cd"></param> /// <returns></returns> public double Calculate(double a, double b, CalculateDelegate cd) { double result = 0; result = cd.Invoke(a, b); return(result); }
//Main_12_2_5 public static void Main_12_2_5() { //����ί�а� myDelegate = new CalculateDelegate(Add); //�ص�Add���� //myDelegate(100, 200); myDelegate.Invoke(100, 200); myDelegate = new CalculateDelegate(Subtract); //myDelegate(100, 200); myDelegate.Invoke(100, 200); }
public static void Main_12_2_5()//Main_12_2_5 { //进行委托绑定 myDelegate = new CalculateDelegate(Add); //回调Add方法 //myDelegate(100, 200); myDelegate.Invoke(100, 200); myDelegate = new CalculateDelegate(Subtract); //myDelegate(100, 200); myDelegate.Invoke(100, 200); }
//Main_12_2_5 public static void Main_12_2_5() { //进行委托绑定 myDelegate = new CalculateDelegate(Add); //回调Add方法 //myDelegate(100, 200); myDelegate.Invoke(100, 200); myDelegate = new CalculateDelegate(Subtract); //myDelegate(100, 200); myDelegate.Invoke(100, 200); }
static void Main(string[] args) { CalculateDelegate del1 = new CalculateDelegate(Add); CalculateDelegate del2 = new CalculateDelegate(Subtract); CalculateDelegate del3 = new CalculateDelegate(Multiply); CalculateDelegate del4 = new CalculateDelegate(Divide); // add 4 delegates to del5 which is multicast delegate CalculateDelegate del5 = del1 + del2 + del3 + del4; del5.Invoke(20, 5); del5 -= del2; Console.WriteLine("--------------"); Console.WriteLine(); del5.Invoke(10, 2); del5 += del2; del5 += del2; del5 += del2; del5 += del2; del5.Invoke(6, 3); }
public static double Calculate(double a, double b, CalculateDelegate cd) { return(cd.Invoke(a, b)); }