zoukankan      html  css  js  c++  java
  • 如何配置Unity的Behaviors for Interception

    继续前一篇实现的NotifyPropertyChangedBehavior,如何在配置文件中添加:

    <?xml version=”1.0″ encoding=”utf-8″ ?>
    <configuration>
      <configSections>
        <section name=”unity” type=”Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration”/>
      </configSections>
    
      <unity xmlns=”http://schemas.microsoft.com/practices/2010/unity”>
        <sectionExtension type=”Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension, Microsoft.Practices.Unity.Interception.Configuration” />
    
        <assembly name=”mscorlib, 2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ />
        <assembly name=”UnityTest5″ />
    
        <namespace name=”System.ComponentModel” />
        <namespace name=”UnityTest5″ />
    
        <container>
          <extension type=”Interception” />
    
          <register type=”MainViewModel”>
            <interceptor type=”VirtualMethodInterceptor” />
            <addInterface type=”INotifyPropertyChanged” />
            <interceptionBehavior type=”NotifyPropertyChangedBehavior” />
          </register>
        </container>
      </unity>
    </configuration>

    默认Unity的配置无法识别interceptor,需要在unity配置节中添加一个sectionExtension,由InterceptionConfigurationExtension处理(Microsoft.Practices.Unity.Interception.Configuration.dll)。

    代码中使用:

    1 IUnityContainer unityContainer = new UnityContainer();
    2 
    3 unityContainer.LoadConfiguration();
    4 
    5 MainViewModel viewModel = unityContainer.Resolve<MainViewModel>();
    6 
    7 ((INotifyPropertyChanged)viewModel).PropertyChanged += new PropertyChangedEventHandler((sender, e) => Console.WriteLine(e.PropertyName));
    8 
    9 viewModel.Name = “hello, world”;
  • 相关阅读:
    JavaScript在web自动化测试中的作用
    Python使用Pandas高效处理测试数据
    git update-index --assume-unchanged忽略跟踪
    git reset三种模式
    Python Unittest根据不同测试环境跳过用例详解
    python ddt 实现数据驱动
    测试用例重要性暨动端测试用例设计总结
    jenkins执行selenium自动化测试浏览器不显示解决方法
    《过目不忘的读书法》 读书笔记
    memcached 学习
  • 原文地址:https://www.cnblogs.com/junchu25/p/2631580.html
Copyright © 2011-2022 走看看