static void Main(string[] args) { MCDelegate mc1 = new MCDelegate(AddNum); MCDelegate mc2 = new MCDelegate(MultiplyNum); MCDelegate multicast = (MCDelegate)Delegate.Combine(mc1, mc2); multicast.Invoke(2, 3); MCDelegate multicast1 = mc1 + mc2; multicast1.Invoke(5, 6); }
static void Main(string[] args) { ClsDelegate3 obj1 = new ClsDelegate3(); MCDelegate objd = new MCDelegate(obj1.Add); objd += obj1.Sub; objd += obj1.Mul; objd += obj1.Div; objd(10, 20); objd -= obj1.Div; objd -= obj1.Mul; objd(30, 40); Console.Read(); }
static void Main(string[] args) { MathClass math = new MathClass(); MCDelegate del = new MCDelegate(math.M1); del += new MCDelegate(MathClass.M2); del += new MCDelegate(math.M1); del(); del -= new MCDelegate(math.M1); del(); MathDelegate del1, del2; del1 = new MathDelegate(math.Add); del2 = new MathDelegate(MathClass.Multiply); //MyInovoke(del1); AsyncCallback mycallback = delegate(IAsyncResult ir) { long result = del1.EndInvoke(ir); Console.WriteLine($"The add result done async is {result}"); }; IAsyncResult iar = del1.BeginInvoke(111, 333, mycallback, null); Console.WriteLine(del2.Invoke(333, 455)); Console.ReadLine(); }