Use the '-' operator to remove a delegate from a delegate chain
1 classHelloWorld2 {3 //Defining delegate Types4 Delegate voidDelegationchain ();5 Static voidMain (string[] args)6 {7 //using a static method to delegate an instance8Delegationchain mydelegateone=NewDelegationchain (helloworld.fun2);9 //Instance delegate with instance methodTenDelegationchain mydelegatetwo=NewDelegationchain (NewHelloWorld (). FUN1); One //To define a delegate object to initialize to null ADelegationchain delegationchain=NULL; - //using the ' + link delegate, the link is then a delegate chain -delegationchain+=Mydelegateone; thedelegationchain+=Mydelegatetwo; - //use '-' to remove a mydelegateone delegate from a delegate chain -delegationchain-=Mydelegateone; - //calling a delegate chain + Delegationchain (); - Console.readkey (); + } A Private voidFun1 () at { -Console.WriteLine ("Fun1"); - } - Private Static voidFun2 () - { -Console.WriteLine ("Fun2"); in } -}
Example: Removing a delegate from a delegate chain
Operation Result:
C # Delegation removes a delegate from a delegate chain (multicast delegate)