• 如何配置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”;
  • 相关阅读:
    如何调试在OJ中的代码
    在linux命令行中调试在OJ上的c++代码
    jar包
    stanford core
    decode encode
    访问服务器,远程访问linux主机
    代码18
    删除列表中的元素
    if __name__ == '__main__'
    苹果要求全部新app以及版本号更新必须支持iOS 8 SDK和64-bit
  • 原文地址:https://www.cnblogs.com/junchu25/p/2631580.html
Copyright © 2020-2023  润新知