如何使用Unity填充设置
本文关键字:设置 填充 Unity 何使用 | 更新日期: 2023-09-27 18:25:07
我在web.config文件中有以下appSettings键值:
<add key="SomeSettings.Received" value="Mottatt"/>
<add key="SomeSettings.Processing" value="Under behandling"/>
<add key="SomeSettings.Finished" value="Ferdig behandlet"/>
我有以下课程:
public class SomeSettings : IConfigurationSettings
{
public string Received { get; set; }
public string Processing { get; set; }
public string Finished { get; set; }
}
在StructureMap中,以下内容将填充SomeSettings类:
ForConcreteType<SomeSettings>().Configure
.EnrichWith(
(session, original) =>
session.GetInstance<ISettingsProvider>().PopulateSettings(original)
);
我可以在不必更改web.config文件的情况下对Unity执行类似的操作吗?如果是,如何?
简而言之:Unity没有这样的功能。但是codeplex上的TecX项目包含了Unity的一些增强功能,允许您做同样的事情。
var container = new UnityContainer();
container.AddNewExtension<EnrichmentExtension>();
container.RegisterType<SomeSettings>(new Enrichment<SomeSettings>((original, ctx) =>
{
ctx.NewBuildUp<ISettingsProvider>().PopulateSettings(original);
}));