app.config配置{ return " my sql connection "; } } public class MSSqlHelp : SQLHelp { public override string SqlConnection() { return " ms sql connection "; } } public class OracleSqlHelp : SQLHelp { public override string SqlConnection() { return " oracle sql connection "; } }
实现代码<? 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" > < container > < register type ="SqlHelp, New_Code" mapTo ="MySqlHelp, New_Code" > < lifetime type ="singleton" /> </ register > </ container > </ unity > </ configuration >
public void Main() { IUnityContainer container = new UnityContainer(); UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection( " unity "); section.Containers.Default.Configure(container); SQLHelp sqlHelp = container.Resolve<SQLHelp>(); Console.WriteLine(sqlHelp.SqlConnection()); }
运行结果:
my sql connection