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”;
  • 相关阅读:
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    2017软件工程实践总结
    华为软件开发云评测
    android开发——用户头像
    学生&部门智能匹配程序
    学生会里学生汇
    数独棋盘生成器
    读与思
    Java接口
  • 原文地址:https://www.cnblogs.com/junchu25/p/2631580.html
Copyright © 2011-2022 走看看