博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring.net 事件的注入
阅读量:5949 次
发布时间:2019-06-19

本文共 1018 字,大约阅读时间需要 3 分钟。

1.首先上客户端代码

  static void Main(string[] args)

        {
            IApplicationContext ctx = ContextRegistry.GetContext();
             Console.WriteLine("事件注册");
            Door door = (Door)ctx.GetObject("door");
            door.OnOpen("Opening!");
            Console.WriteLine();
            Console.ReadLine();
        }

 spring配置里将做到为door对象的OpenTheDoor事件注入事件的触发代码 触发代码放在Men类的OpenThisDoor方法里

 //先定义一个委托

    public delegate string OpenHandler(string arg);
    public class Door
    {
        public event OpenHandler OpenTheDoor;
        public void OnOpen(string arg)
        {
            //调用事件
            if (OpenTheDoor != null)
            {
                Console.WriteLine(OpenTheDoor(arg));
            }
        }
    }
    public class Men
    {
        public string OpenThisDoor(string arg)
        {
            return "参数是:" + arg;
        }
    }

最后上配置文件 <!--下面配置文件的意思是men对象为door对象的监听者 当door对象执行OpenTheDoor这个事件则触发的结果则为 men对象的OpenThisDoor 事件参数arg也要有-->

      <!--事件注入-->

      <object id="men" type="SpringNet_MethodDi.Men, SpringNet_MethodDi">
        <listener event="OpenTheDoor" method="OpenThisDoor">
          <ref object="door"/>
        </listener>
      </object>          
      <object id="door" type="SpringNet_MethodDi.Door, SpringNet_MethodDi" />

转载于:https://www.cnblogs.com/kexb/p/4574053.html

你可能感兴趣的文章
对OpenBSD中的OSPF和BGP路由协议的探索
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
使用Jmeter进行http接口测试
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
python自动化创建mysql多实例
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
网址收藏
查看>>
SSDB无法连接问题分析
查看>>
Vmware安装报msi错误解决方案(官方翻译中文版)
查看>>
2013 Linux领域年终盘点
查看>>
私有云搭建 OpenStack(centos7.3, centos-release-openstack-liberty) (中篇)
查看>>
Bootstrap3 表单-被支持的控件:输入框
查看>>
Bootstrap3 表单-基本表单
查看>>
【翻译】如何在Ext JS 6中使用Fashion美化应用程序
查看>>
(转载)浅谈javascript中的原型和继承
查看>>
删除存储
查看>>
suffix
查看>>