首页 > 代码库 > C# 委托之把委托从委托链(多播委托)移除

C# 委托之把委托从委托链(多播委托)移除

运用“-”运算符将委托从委托链移除

技术分享
 1 class HelloWorld 2    { 3       //定义委托类型 4       delegate void DelegationChain(); 5       static void Main(string[] args) 6       { 7          //用静态方法来实例委托 8          DelegationChain mydelegateone=new DelegationChain(HelloWorld.Fun2); 9           //用实例方法来实例委托10          DelegationChain mydelegatetwo=new DelegationChain(new HelloWorld().Fun1);11          //定义一个委托对象初始化为null12          DelegationChain delegationChain=null;13           //使用‘+链接委托,链接后就成了委托链14           delegationChain+=mydelegateone;15           delegationChain+=mydelegatetwo;16           //使用‘-‘把mydelegateone委托从委托链移除17           delegationChain-=mydelegateone;18           //调用委托链19           delegationChain();20          Console.ReadKey();21       }22       private void Fun1()23       {24           Console.WriteLine("Fun1");25       }26       private static void Fun2()27       {28           Console.WriteLine("Fun2");29       }30    }
例:将委托从委托链移除

运行结果:

技术分享

 

C# 委托之把委托从委托链(多播委托)移除