zoukankan      html  css  js  c++  java
  • 蛙蛙请教:如何利用委托实现多个方法同时调用.

    using System;

    namespace ConsoleApplication1
    {

        
    public delegate void AddContainer();
        
    public class Class1
        
    {
            
    public static AddContainer AddCont = null;
            
    private Class1()
            
    {
            }

            
    public static void AddAllContainer()
            
    {
                Class1.AddCont();
            }

        }

        
    public class Class2
        
    {
            
    public Class2()
            
    {
                Class1.AddCont 
    += new AddContainer(this.Method1);
                Class1.AddCont 
    += new AddContainer(this.Method2);
            }

            
    private void Method1()
            
    {
                Console.WriteLine(
    "111");
            }

            
    private void Method2()
            
    {
                Console.WriteLine(
    "222");
            }

        }

        
    public class Class3
        
    {
            
    public static void Main(string[] args)
            
    {
                
    //大家看下一句哦,我想把下一句去掉也能在调用Class1.AddAllContainer()的时候
                
    //同时也调用Class的两个私有方法,怎么改一下这个代码呀?是这样的,Class1相当于
                
    //系统底层架构,而Class2相当于业务逻辑,Class3呢就是表示层,表示层Class3在使用
                
    //Class2的业务逻辑的时候需要先用Class1加载元数据以创建一组业务逻辑使用的容器
                
    //为了达到三层之间的低耦合效果,我不想在改动业务逻辑代码的时候同时还要改动底层
                
    //架构和表示层调用的代码,我在Class2的构造函数里给Class1的委托增加了两个回调
                
    //函数,可是表示层Class3不实例化它的话,它就永远不执行,如果业务层没增加一个action
                
    //都要改动一下Class3的Main方法的话会很麻烦,大家给看看怎么改能实现我的效果.
                Class2 c = new Class2();
                Class1.AddAllContainer();
                Console.ReadLine();
            }
            
        }

    }

  • 相关阅读:
    jdbc连接数据库报ORA-12519错误
    Open CV 七种常见阈值分割
    开博第一天
    UIWebView的使用---safri
    转义符
    UIKIT_EXTERN 的简单用法
    iOS 基础 --- tableView的使用(一)
    iOS基础 --- 如何监听一个控件(UITextField篇)
    objective-C和C --- 《位运算》的使用(一)
    assin与weak的区别
  • 原文地址:https://www.cnblogs.com/onlytiancai/p/214083.html
Copyright © 2011-2022 走看看