constructor-injection相关内容
我正在尝试找出 MEF 的构造函数注入属性.我不知道如何告诉它加载构造函数的参数. 这是我要加载的属性 [ImportMany(typeof(BUsers))]公共 IEnumerableLoadBUsers { 获取;放;} 这是我用来导入程序集的代码. 试试{var catalog = new AggregateCatalog();catalog.Catalogs.Add(new
..
我将 C# 与 Microsoft 的 Unity 框架结合使用.我不太确定如何解决这个问题.这可能与我对 DI 与 Unity 缺乏了解有关. 可以使用以下示例代码来总结我的问题: class Train(Person p) { ... }class Bus(Person p) { ... }类人(字符串名称){ ... }Person dad = new Person("joe");P
..
我正在使用 Microsoft 的 Unity 进行依赖注入,我想做这样的事情: IDataContext context = _unityContainer.Resolve();var repositoryA = _unityContainer.Resolve(context);//上下文的相同实例var repositoryB = _unityContainer.
..
我正在使用 .NET Core 构造函数注入.在一位同事的代码审查中,他提出了我是否应该检查控制器中注入的依赖项的空值的问题. 由于框架负责创建服务的实例,在我看来它会处理任何错误并且永远不会将空值依赖传递给构造函数.不过,我没有任何事实证据,所以我想知道是否可能需要进行空检查. 例如,我是否应该检查以下代码中的“myService"是否为空?(假设代码配置为使用DI) 公共类 My
..
我正在关注 Spring 参考文档 4.0.0.RELEASE.它说 使用简单类型时,Spring不能确定值的类型,因此在没有帮助的情况下无法按类型匹配 场景如下 包示例;公共类 ExampleBean {私人整数年;私人字符串最终答案;公共 ExampleBean(整数年,字符串最终答案){this.years = 年;this.ultimateAnswer = UltimateA
..
我正在开发Java Spring应用程序.我的应用程序中有一些使用.yml配置文件配置的字段.我想在有关字段上使用@Value注释导入这些值.我还想使用构造函数注入的最佳实践,而不是使用字段注入,但是我想使用Lombok而不是手动编写我的构造函数.有什么办法可以一次完成所有这些事情?举例来说,这不起作用,但与我想要执行的操作类似: @AllArgsConstructor公共课程我的服务{@Va
..
何时在Spring中使用构造函数注入? 我听说构造函数注入在您绝对必须在使用组件之前必须拥有依赖项类的实例时特别有用.但这是什么意思? 在下面的时刻,有人可以用一些简单的例子向我解释一下吗? 使用构造函数注入有什么好处? 什么是 dynamic 构造函数注入? 解决方案 正确的方法是尽可能使用构造函数注入.由于这一点,很明显,对象依赖关系是什么,如果不提供所需的全部内容
..
我有一个提供接口的项目,我们称它为IImplementMe,我想将其注入到我的项目中.该接口将由各种生产者实现,因此我需要注入所有实现.我正在尝试为此使用TypeLiteral. 这是生产者的代码: @Singleton public class SomeImplementation implements IImplementMe { private final String val
..
此问题可能与该问题完全相同 使用Guice将参数传递给构造函数 区别是我使用的是roboguice,而不是Guice,所以答案对我不起作用. 问题是-如何将初始化参数传递给创建的对象? IE.我注入了应该使用roboguice不知道的参数初始化的接口. 我在提供的链接中看到的内容,我应该创建工厂界面并像这样注册它 void configure(Binder binder
..
假设我有一个接口IDependencyResolver: 公共接口IDependencyResolver { T Resolve() T:班级; object Resolve(Type source); } 以及使用SimpleInjector的实现: 公共类SIDependencyResolver:IDependencyResolver { pr
..
我有一个带有 IEnumerable 构造函数参数的类,我想用Unity解析它并注入一个对象数组。这些简单的类说明了问题。 公共接口IThing { int Value {get; } } public class SimpleThing:IThing { public SimpleThing() { this.Value = 1; } public in
..
我有一个请求范围的bean,我需要访问HttpServletResponse和HttpServletRequest对象。 我需要在构造函数中访问这些对象,因此属性 我做了以下操作: @Component @Scope(“ request”) 公共类MyClass { @Autowired(required = true) 公共MyClass(HttpServletRe
..
听了清洁代码讨论之后,我了解到我们应该使用工厂来组成对象。因此,例如,如果房屋具有门和门有一个 DoorKnob ,在 HouseFactory 中,我们创建了一个新的 DoorKnob 并将其传递给 Door 的构造函数,然后将该新的 Door 对象传递给 House 。 但是使用 House (假设类名称为 ABC )?这取决于 HouseFactory ,对吧?那么我们是否在 ABC
..
我试图弄清楚如何使用Simple Injector,我在项目中使用了它,注册简单服务及其组件没有问题。 但是,当一个组件具有两个以上的实现接口的构造函数时,我想使用依赖项注入器。 public DAL:IDAL { 私人Logger记录器; 字符串_dbInstance; public DAL() { logger = new Logger(); } publ
..
问题 我经常发现自己手动键入如下代码: 公共类SomeClass { 只读ServiceA serviceA; 只读ServiceB serviceB; public SomeClass(ServiceA serviceA,ServiceB serviceB) { this.serviceA = serviceA .; this.serviceB = servic
..
当我尝试传递两个相同类型的参数时,如下所示: public IPercentage CreatePercentage(int part, int total) { return _container.ResolveT(新参数(部分,总计)); } 对于这样的构造函数: 公共百分比(整数,整数) { // ... } 然后我得到一个 S
..
我目前正在尝试学习如何使用Unity和Caliburn Micro实现MVVM。在其他地方寻求帮助后,我仍然不确定如何正确设置构造函数注入。我不知道是否由于我对MVVM的专业知识不足或其他原因而无法正常工作。 我的问题是我想将两个IScreen对象传递给我主窗口(外壳)在用户单击按钮之间可以导航的类。这是MainWindowViewModel类中构造函数的代码: 私有IScreen c
..
我几乎已经尝试了所有方法,但是当B没有无参数构造函数时,我无法让AutoMapper映射A => B. 我正在使用Unity,所有的依赖项都可以方便地注册,但是,我如何对AutoMapper说:“嘿,如果目标实例在构造函数中需要一些依赖项,请Unity进行构建,然后再进行映射./p> 我尝试过 Mapper.Initialize(configuration => {
..
我的班级结构如下: class SrcChild { public bool SomeProperty { get; set; } } class SrcParent { public IEnumerable Children { get; set; } } 因此SrcParent具有SrcChild对象的集合. 现在,我想将SrcParent
..
我正在使用Autofac构造函数注入.我需要弄清楚如何将一个对象实例注入多个构造函数参数中,而无需在容器设置阶段明确解析每个参数. 我有一个复杂的场景,此行为可以简化此场景;下面的示例只是一个简化的场景,因此我可以演示所需的行为. 示例: 说我有IOpenable和ICloseable这两个接口: public interface IOpenable { void
..