.net - 任何现有的 IoC 容器都可以动态创建惰性代理类吗?

标签 .net dependency-injection inversion-of-control ioc-container lifetime

我研究不同的 DI 模式。 现在我对懒惰的生命周期实现感兴趣。 例如,我想编写一个将工厂隐藏在服务接口(interface)后面的代理类。 任何现有的 IoC 容器 (.NET) 都可以在运行时动态创建这种代理类吗?

interface IService
{
    void Foo();
    void Bar();
}

class ServiceFactoryProxy : IService
{
    private readonly Func<IService> _factory;

    public ServiceFactoryProxy(Func<IService> factory)
    {
        if (factory == null) throw new ArgumentNullException("factory");
        _factory = factory;
    }

    public void Foo()
    {
        _factory().Foo();
    }

    public void Bar()
    {
        _factory().Foo();
    }
}

最佳答案

关于.net - 任何现有的 IoC 容器都可以动态创建惰性代理类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9757953/

相关文章:

c# - 在 ef 中将对象列表添加到上下文

c# - wpf web 浏览器控件的限制是什么?

java - 对显式添加的类的 CDI 依赖注入(inject)失败

c# - 为 `private static readonly` 字段创建 stub

c# - 如何在 C# 中存储之前验证 .csv 文件?

c# - 从已使用的命名空间中排除一个类

design-patterns - 如何使用依赖注入(inject)和存储库处理工作单元

javascript - 为什么我的构造函数参数私有(private)类成员在运行时未定义?

dependency-injection - xml配置还是通过代码配置?

c# - 结合 MEF 和 IoC 容器