Unity 2.1 配备
Unity 2.1 配置
<configSections> <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/> </configSections> <unity xmlns="http://schemas.microsoft.com/practices/2010/unity"> <containers> <container name="myContainer"> <types> <type type="EE.Facade.IHello,EE.Facade" mapTo="EE.Logic.Hello,EE.Logic"></type> </types> </container> </containers> </unity>
public static class IOC { private static IUnityContainer container; static IOC() { //ExeConfigurationFileMap map = new ExeConfigurationFileMap(); //map.ExeConfigFilename = "Unity.config"; //Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); //UnityConfigurationSection section = (UnityConfigurationSection)config.GetSection("unity"); //container = new UnityContainer(); //section.Configure(container, "myContainer"); container = new UnityContainer(); UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity"); section.Configure(container, "myContainer"); } public static T R<T>() { return R<T>(null); } public static T R<T>(string name) { if (string.IsNullOrEmpty(name)) return container.Resolve<T>(); return container.Resolve<T>(name); } }