我可以使用哪种Ninject绑定,以便在构造函数中将一个参数用于另一个参数?

shamp00

我有一个这样的课:

public class MyClass
{
    public MyClass(IService service)
    {
        this.Service = service;
        this.Dependency = new Dependency(service);
    }
}

我想将new Dependency()调用移至构造函数。

public class MyClass
{
    public MyClass(IService service, IDependency dependency)
    {
        this.Service = service;
        this.Dependency = dependency;
    }
}

我不知道如何绑定它,以便IDependency使用service构造函数参数创建

Bind<IDependency>()
  .To<Dependency>()
    .WithConstructorArgument("service", ctx => ctx.???); // How do I do this?
BatteryBackupUnit

因此,您希望将相同的实例IServicector注入到多个对象中。有两种方法可以实现此目的:

  • 范围内的绑定IService:.InSingletonScope(),InCallScope(),InNamedScope(“ xyz”)等(请参见https://github.com/ninject/ninject/wiki/Object/Scopes
  • 实现并使用工厂来创建MyClass然后,工厂首先实例化IServiceIResolutionRoot.Get<IService>();),然后MyClass使用ctor参数p.Ex实例化并返回。像这样:IResolutionRoot.Get<MyClass>(new ConstructorArgument("service", service);

您还可以绑定IMyClass .ToProvider()并让提供程序实现工厂逻辑以摆脱多余的工厂调用。但这使实际的目标类绑定变得很困难,以防万一您想将一个接口绑定到多个类(带有条件或其他条件)。请参阅如何在Ninject中使用提供程序

使用Ninject在构造函数中使用其他参数创建实例对您来说也可能很有趣。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在另一个类的构造函数中使用一个类作为参数

来自分类Dev

如何从另一个包导入R函数,以便用户可以使用?

来自分类Dev

是否可以将构造函数用作TypeScript中另一个函数的参数类型?

来自分类Dev

是否可以有一个可用于模型绑定的非公共无参数构造函数?

来自分类Dev

在Haskell中将另一个函数作为参数提升一个函数

来自分类Dev

我可以将一个函数和不同数量的参数传递给另一个函数吗?

来自分类Dev

复制一个结构以便在另一个线程上使用

来自分类Dev

我可以从一个类中获取rect.x以便在另一个类中使用吗?

来自分类Dev

如何使用一个类的构造函数作为Java中另一个类的对象的参数?

来自分类Dev

是否可以使用带有参数的bash别名并追加另一个命令?

来自分类Dev

Kotlin使用另一个对象作为默认构造函数参数创建新对象

来自分类Dev

使用对象的参数从另一个构造函数重新调整数组列表

来自分类Dev

使用来自另一个类的参数复制构造函数

来自分类Dev

使用另一个函数的参数-Python

来自分类Dev

我可以通过一个循环的参数到一个构造函数

来自分类Dev

我可以将模板函数用作另一个模板的参数吗?

来自分类Dev

如何为另一个构造函数调用的构造函数提供参数?

来自分类Dev

我可以使用另一个类内部的函数中的变量吗?

来自分类Dev

使用一个函数作为另一个函数的参数

来自分类Dev

如何从另一个类参数访问类构造函数参数

来自分类Dev

我可以使用成员函数作为EnumWindows的第一个参数吗

来自分类Dev

我可以使用DataKinds编写一个返回参数编码类型的值的函数吗?

来自分类Dev

我可以使用成员函数作为EnumWindows的第一个参数吗

来自分类Dev

无参数构造无构造函数的类(来自另一个程序集)

来自分类Dev

当R中缺少参数时,如何调用另一个函数以使用其默认参数?

来自分类Dev

如何乘/除一个函数到另一个?如何使用参数?

来自分类Dev

自动绑定WebAPI中的另一个参数

来自分类Dev

从ActionListener发送变量,以便另一个ActionListener可以使用它

来自分类Dev

Java-试图使用在另一个类中传递给另一个构造函数的参数来初始化对象?

Related 相关文章

  1. 1

    在另一个类的构造函数中使用一个类作为参数

  2. 2

    如何从另一个包导入R函数,以便用户可以使用?

  3. 3

    是否可以将构造函数用作TypeScript中另一个函数的参数类型?

  4. 4

    是否可以有一个可用于模型绑定的非公共无参数构造函数?

  5. 5

    在Haskell中将另一个函数作为参数提升一个函数

  6. 6

    我可以将一个函数和不同数量的参数传递给另一个函数吗?

  7. 7

    复制一个结构以便在另一个线程上使用

  8. 8

    我可以从一个类中获取rect.x以便在另一个类中使用吗?

  9. 9

    如何使用一个类的构造函数作为Java中另一个类的对象的参数?

  10. 10

    是否可以使用带有参数的bash别名并追加另一个命令?

  11. 11

    Kotlin使用另一个对象作为默认构造函数参数创建新对象

  12. 12

    使用对象的参数从另一个构造函数重新调整数组列表

  13. 13

    使用来自另一个类的参数复制构造函数

  14. 14

    使用另一个函数的参数-Python

  15. 15

    我可以通过一个循环的参数到一个构造函数

  16. 16

    我可以将模板函数用作另一个模板的参数吗?

  17. 17

    如何为另一个构造函数调用的构造函数提供参数?

  18. 18

    我可以使用另一个类内部的函数中的变量吗?

  19. 19

    使用一个函数作为另一个函数的参数

  20. 20

    如何从另一个类参数访问类构造函数参数

  21. 21

    我可以使用成员函数作为EnumWindows的第一个参数吗

  22. 22

    我可以使用DataKinds编写一个返回参数编码类型的值的函数吗?

  23. 23

    我可以使用成员函数作为EnumWindows的第一个参数吗

  24. 24

    无参数构造无构造函数的类(来自另一个程序集)

  25. 25

    当R中缺少参数时,如何调用另一个函数以使用其默认参数?

  26. 26

    如何乘/除一个函数到另一个?如何使用参数?

  27. 27

    自动绑定WebAPI中的另一个参数

  28. 28

    从ActionListener发送变量,以便另一个ActionListener可以使用它

  29. 29

    Java-试图使用在另一个类中传递给另一个构造函数的参数来初始化对象?

热门标签

归档