gpt4 book ai didi

c# - 使用 Ninject 注入(inject)整数

转载 作者:行者123 更新时间:2023-12-02 15:29:15 25 4
gpt4 key购买 nike

我有以下类(class)

public class Foo
{
public Foo(int max=2000){...}
}

我想使用 Ninject 向 Foo 中注入(inject)一个常量值。我已经尝试过这个了

Bind<Foo>().ToSelft().WithConstructorArgument("max", 1000);

但是当我尝试使用 _ninject.Get<Foo> 时出现以下错误:

Error activating int
No matching bindings are available, and the type is not self-bindable.
Activation path:
3) Injection of dependency int into parameter max of constructor of type Foo

最佳答案

以下内容对我有用:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ninject;
using Ninject.Activation;
using Ninject.Syntax;


public class Foo
{
public int TestProperty { get; set; }
public Foo(int max = 2000)
{
TestProperty = max;
}
}

public class Program
{

public static void Main(string [] arg)
{
using (IKernel kernel = new StandardKernel())
{
kernel.Bind<Foo>().ToSelf().WithConstructorArgument("max", 1000);
var foo = kernel.Get<Foo>();
Console.WriteLine(foo.TestProperty); // 1000
}

}
}

关于c# - 使用 Ninject 注入(inject)整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6153618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com