相关疑难解决方法(0)

Ninject是否支持Func(自动生成工厂)?

Autofac自动生成工厂Func<T>; 我甚至可以传递参数.

public class MyClass
{
    public MyClass(Func<A> a, Func<int, B> b)
    {
        var _a = a();
        var _b = b(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以和Ninject一样吗?如果没有,我可以申请哪种解决方法?

谢谢.

更新:

刚发现这篇帖子,似乎答案是否定的:

如何使用Ninject处理带静态方法的类?

ninject func autofac

21
推荐指数
1
解决办法
5179
查看次数

有没有办法通过JsonConverter派生自定义转换器获取依赖注入

与此不完全相同:

如何使用Ninject注入依赖项,其中实例从json反序列化

答案是,您反序列化的数据类无论如何都不需要服务.有没有办法使用依赖注入与派生的类JsonConverter?例如,如果你有这个:

[JsonConverter(typeof(MyCustomConverter))]
public class Foo
{
    public string SomeProp { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和:

public class MyCustomConverter : JsonConverter
{
    private readonly IMyService myService;

    public MyCustomConverter(IMyService _myService)
    {
        myService = _myService;
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        var bar = myService.SomeFunctionThatMightEffectDeserialization();
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

反正有没有想到JSON.Net实例化如何让它MyCustomConverter让Ninject做它的事情?

编辑这不是Foo像建议的欺骗那样注入服务.这只是注入,MyCustomConverter以便它可以反序列化Foo.

c# dependency-injection ninject json.net

7
推荐指数
1
解决办法
1345
查看次数

标签 统计

ninject ×2

autofac ×1

c# ×1

dependency-injection ×1

func ×1

json.net ×1