Ninject метод get устанавливает аргумент конструктора в значение null - PullRequest
0 голосов
/ 11 июля 2011

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

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

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

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

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

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 Ответ

0 голосов
/ 11 июля 2011

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

...