我有一个接口"ISetting“。我让POCO类用一些属性和一些自动的getter/getter实现这个空接口。
我想让SimpleInjector检查请求的每个类型(没有显式注册的类型),如果它实现了这个接口,就用我提供的方法来解决它。
这允许我使用POCO对象进行设置,可以选择使用默认值(从构造函数)将POCO对象绑定到它们自己。这对于单元测试以及关闭设置(使用默认值)非常有用。
这是可能的吗?方法是什么?
提前感谢!
发布于 2013-01-27 23:31:48
这可以通过使用ResolveUnregisteredType事件来实现。示例:
container.ResolveUnregisteredType += (s, e) =>
{
    Type type = e.UnregisteredType;
    if (typeof(ISetting).IsAssignableFrom(type))
    {
        // If you need raw performance, there is also
        // an overload that takes in an Expression.
        e.Register(() =>
        {
            // Do something useful here. Example:
            return Activator.CreateInstance(type);
        });
    }
};https://stackoverflow.com/questions/14548766
复制相似问题