問題タブ [ninject-conventions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ninject - 多くのクラスがNinject.Extensions.Conventionsで1つのインターフェースを継承する場合、どうすればよいですか
私のアイテムには、1 つのインターフェイスを継承する複数のクラスと、このようなインターフェイスが多数あります。たとえば、クラス A|B|C はインターフェイス Ilog を継承し、クラス F|E|G はインターフェイス IData を継承し、クラス H|I|J は IBase を継承します。今、Ninject.Extensions.Conventions を使用してすべてのインターフェイスをバインドしたいのですが、どうすればよいですか。慣例を使用してそれができない場合は、最善の方法を教えてください。誰かにアイテムでの Ninject.Extensions.Conventions の使用方法を教えてもらいたいのですが、具体的なシンテックスは教えないでください。クラスとインターフェイスを整理してインターフェイスを簡単にバインドできるようにする方法を知りたいです。助けてくれてありがとう! 次のようなコード例:
今、インターフェイス Ilog を A に、IData を E に、IBase を H に解決したいのですが、Ninject.Extensions.Conventions をどうすればよいですか? 多くのインターフェイスがこのような場合、どうすればよいですか?
c# - Ninject コンベンション バインドが失敗したかどうかを通知する
バインディングを動的に追加するために Ninject.Extensions.Conventions を使用しています。ロードする .dll 名は構成に格納されます。構成が正しくなく、.dll をロードできない場合は、そのことを知っておくとよいでしょう。現在、.dll の読み込みに失敗してもバブルアップしません。たとえば、ポテトをロードしようとすると、キャッチできるエラーはありません。
構成が悪いことを知る方法はありますか? IntelliTrace ウィンドウで、例外がスローされましたが、発生する前にキャッチされました。
c# - 複数の Ninject モジュールが奇妙な動作をする
これは少し複雑ですが、私の環境では再現可能です。アーキテクチャは次のとおりです。
Ninject モジュールの実装
さて、次のエラーで Web プロジェクトを実行すると、上記が壊れます。
ただし、バインディングを(実行中の Web プロジェクトではなくNinjectBindingsModule
、コンソール アプリケーションに対して) 変更すると、次のようになります。
その後、Web プロジェクトは正しく機能します。Web プロジェクトから NinjectBindingsModule クラスへの明示的な参照はなく、そこにブレークポイントを配置してもブレークポイントにヒットしません。NinjectWebBindings
ブレークポイントを挿入して通常どおり続行すると、ブレークポイントにヒットします。
これは、Ninject が、参照されたアセンブリ内のすべてのモジュールをロードするかスキャンし、バインドに関して何かを行っていることを意味します。モジュールごとに個別のプロジェクトを持たずにこれを解決する方法についてのアイデアはありますか?
ninject - 複雑な開始で規約拡張を使用する方法 (例: ToMethod )
規約拡張の例
そして、私が取得する各タイプは、このメソッドで複雑な開始を提供する必要があります