近来MS发布了EnterLib5.0, 而Unity2也面世,觉得Unity挺有意思。

初步接触Unity,先通过一个小例子来看看如何使用。

一.直接使用EnterLib的Unity

1.建1个interface和1个implement 

 

    public interface ICaculate
    {
        
int Add(int i, int j);
    }


    
public class CaculateService: ICaculate
    {
        
public int Add(int i, int j)
        {
            
return i + j;
        }
    }
   

 

 2.在Console里面建立一个UnityContainer,并执行方法。

            IUnityContainer container = new UnityContainer().RegisterType<ICaculate, CaculateService>();
            Console.WriteLine(container.Resolve
<CaculateService>().Add(6,4));

 

 

二.使用ConfigurationSection

 

 1.App.config

AppConfig
<configuration>
  
<configSections>
    
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
  
</configSections>

  
<unity>
    
<alias alias="ICaculate" type="LF.Unity.ICaculate, LF.Unity" />
    
<alias alias="Caculate" type="LF.Unity.CaculateService,LF.Unity"/>
    
    
<container  name="xx">
      
<register type="ICaculate" name="special" mapTo="Caculate" />
    
</container>
    
  
</unity>
</configuration>

 

 

 

2.利用ConfigSection读取container

Invoke
            IUnityContainer container = new UnityContainer();
            UnityConfigurationSection section 
= (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
            section.Configure(container,
"xx");
            Console.Write(container.Resolve
<CaculateService>().Add(54));

 

 

 

 

 

 

 

posted on 2010-05-28 10:40  Sothicor  阅读(303)  评论(0)    收藏  举报