使用结构图,您可以注册一个约定,它不仅可以调整类型,还可以在对象创建期间进行干预.我怎么能用Unity做到这一点.
public class SettingsRegistration : IRegistrationConvention
{
public void Process(Type type, Registry registry)
{
if (!type.IsAbstract && typeof(ISettings).IsAssignableFrom(type))
{
registry.For(type).Use(x =>
{
var svc = x.GetInstance<ISettingService>();
return svc.LoadSetting(type);
});
}
}
}
Run Code Online (Sandbox Code Playgroud)