码迷,mamicode.com
首页 > 编程语言 > 详细

Spring.net 事件的注入

时间:2015-06-13 21:37:55      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

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" />

Spring.net 事件的注入

标签:

原文地址:http://www.cnblogs.com/kexb/p/4574053.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!