代码之家  ›  专栏  ›  技术社区  ›  Per Hornshøj-Schierbeck

使用Microsoft Unity进行编程属性注入

  •  3
  • Per Hornshøj-Schierbeck  · 技术社区  · 15 年前

    我在解决方案中使用构造函数注入,但是这个类有一个属性,我不想在具有不变依赖项的构造函数中传递该属性。

    假设我有一个ILogger,它有一个我想要设置的FileName属性,同时仍然让它在构造函数中设置依赖项。 如何注册类型,同时传递defaunt连接字符串。

    我希望有一种简单的方法可以做到这一点——最好不用属性来装饰属性,但如果属性的设置更简单,我想这很酷:)

    所以问题是,我如何在一个同样使用构造函数注入的对象上注入属性值——使用Unity。

    更新:我在标题中提到了它,但我忘了在正文中详细说明-我想手动(在代码中)设置这些依赖项,而不是在配置文件中。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Per Hornshøj-Schierbeck    15 年前

    好吧,我想问这个问题很有帮助,我发现了——就在这里。

    container.Configure<InjectedMembers>().ConfigureInjectionFor<BasicLogger>(
      new InjectionProperty("FileName", @"C:\test.log")
    );
    
        2
  •  0
  •   RichardOD    15 年前

    如果要注入属性,则必须使用[Dependency]或手动注入该依赖项。

        3
  •  0
  •   flukus    15 年前

    通常需要注入IConfiguration接口。这可能有一个您可以读取的日志文件属性。

    配置实现通常只是一个简单的包装器,用于从配置文件中读取项。

    推荐文章