Ninject метод get устанавливает аргумент конструктора в значение null

Я использую Ninject для реализации IoC/DI в моем приложении. Это работало хорошо во всем приложении, за исключением одного случая, когда я устанавливаю аргумент конструктора типа User Defined Class.

Этот класс имеет четыре свойства, все они имеют тип, определяемый пользователем, все они являются сериализованными перечислениями.

Теперь, когда я разрешаю зависимость от ядра, он выдает мне исключение, так как значения аргументов конструктора устанавливаются в нуль. Я не знаю, почему это так.

Это из-за seriazlizeable перечислений или что-то еще. Я не могу изменить свои типы, поэтому, пожалуйста, предложите мне что-нибудь в контексте, где мне не нужно менять типы.

редактировать

IManager manager = GlobalData.Kernel.Get<IManager> (new ConstructorArgument("context", Context)); 
// Context Class code is here 
public class Context { 
    public string ContextCode { get; set; } 
    public Module Module { get; set; } 
    public Screen Screen { get; set; } } 

Модуль и экран являются сериализуемыми перечислениями

1 ответ

Решение

Это потому, что ваш контекст, переданный в качестве аргумента конструктора, имеет значение Null.

Другие вопросы по тегам