IObjectVmFactory objectVMFactory = this.Container.Resolve<IObjectVmFactory>();
これはNullReferenceExceptionをスローします。割り当てによってSystem.NullReferenceExceptionが生成される
私は変数にthis.Container.Resolve
の結果を割り当てない場合、それはスローされません。
this.Container.Resolve<IObjectVmFactory>().AnyMethod(...)
これは私には意味がありません...誰かが私にいくつかの説明を与えることができますか?
追加情報:
this.Container
は確かにヌルではありません。トリプルチェック。そして、それがヌルであれば、2行目は失敗します。
IObjectVmFactory
を実装しているクラスには定義済みのコンストラクタがありませんので、例外はIObjectVmFactory
の実装内では起こりません。
例外には、内部例外および最初の行に直接向いた点はありません。
直接実行ウィンドウで行を直接実行すると、( '' is null)メッセージが生成されます。
ありがとうございます!
最初は 'this.Container.Resolve();'です。もう1つは 'this.Container.Resolve ()。CreateInstance(...)'です。コード自体は、最初のものが2番目のものである間にインスタンスを作成していないことを説明しています。したがって、それは自明です。 –
ViVi
'Container'が' null'ではないと確信していますか? 'NullReferenceException'はどこから来たのですか? – Haukinger
最初はIObjectVmFactoryのインスタンスを作成しています。唯一の違いは、最初のケースでは、変数で1で解決されたインスタンスを割り当てます。コンテナはnullでもなくokです。 –