私のアプリケーションでIoC/DIを実装するためにNinjectを使用しています。 1つのケースを除いてアプリケーション全体でうまく機能しています。ここでは、ユーザー定義クラス型のコンストラクタ引数を設定しています。Ninject getメソッドがnullへのコンストラクタ引数を設定しました
このクラスには4つのプロパティがあり、すべてがユーザー定義型の型であり、すべてがシリアル化された列挙型です。
私はカーネルの依存関係を解決すると、nullに設定されたコンストラクタ引数の値として例外がスローされます。私はなぜそれが分からない。
これは、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; } }
モジュールと画面は、あなたのコンテキストコンストラクタの引数がNULLであるとして取得に渡されているためですSerializableを列挙
コードサンプルを追加できますか? –
IManager manager = GlobalData.Kernel.Get (新しいConstructorArgument( "context"、Context));コンテキストクラスコードはここにありますpublic class Context { public string ContextCode {get;セット; } publicモジュールモジュール{get;セット; } public Screen Screen {get;セット; } }モジュールとスクリーンはシリアライズ可能な列挙体です –