問題タブ [contextual-binding]

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.

0 投票する
2 に答える
3044 参照

parameters - ninject2.0のパラメーターベースのバインディング

渡されたパラメータに基づいて、ninjectで条件付きバインディングを使用したいと思います。私は以下のようなものを持っています:

そして今、私はITargetインターフェースをインスタンス化する必要があります:

適切なバインディングを定義するのに問題があります。私は次のことを試しました:

しかし、渡されたパラメータの値を取得する方法がわかりません。IContextインスタンスをGetValueメソッドに渡す必要がありますが、IContextの有効なインスタンスを取得する方法がわかりません。それとも、私のタスクを達成するためのより良い方法がありますか?

編集:BindingMetadataは私の問題を解決するためのより良い方法です。詳細については、Ninject2.0を使用したコンテキストバインディングを参照してください。

よろしく

0 投票する
1 に答える
3365 参照

parameters - Ninject 2.0 によるコンテキスト バインディング

Ninject 1.0 では、次のバインディング定義がありました。

そのようなバインディングを考えると、私は電話をしました:

最初の呼び出しは Target1 のインスタンスに解決され、2 番目の呼び出しは Target2 のインスタンスに解決されました。

これを Ninject 2.0 に変換するにはどうすればよいですか?

0 投票する
1 に答える
1959 参照

ninject - AutofacとNinjectのコンテキストバインディング?

1) Autofac と Ninject のどちらがコンテキスト バインディングに適していますか?

2) Ninject を使用すると、特定の名前空間の型にバインドできます。

Autofacでこれを行うことはできますか?

ありがとう!

(私の英語でごめんなさい)

0 投票する
1 に答える
1714 参照

.net - 実行時にコンテキストバインディングを挿入する

NinjectContextualBindingを理解しようとしています。設計時に自分のコンテキストを知っているシナリオを理解しています。たとえば、名前付き属性を使用して、テストクラスで使用する場合はDBオブジェクトをモックDBにバインドし、実際のコードから使用する場合はSQLDBにバインドできることを理解しています。

ただし、実行時にコンテキストバインディングを処理する方法がわかりません。たとえば、私がショッピングセンター用のソフトウェアを書いているとしましょう。店主は、請求にキーボードまたはバーコードスキャナーを使用できます。事前にどちらを使うのかわかりません。そして彼は将来、RFIDのような他のスキャン方法を追加するかもしれません。

だから私は次のことをしています:

では、どうすれば最小限のカスタムコードでそれを実行できますか?コンテキストバインディングに関する記事/ウィキ/チュートリアルへのリンクではなく、特定のコード例をリクエストしたいと思います。

0 投票する
1 に答える
474 参照

binding - 上を検索して型を見つける Ninject Binding Constraint

私はこのようなクラス階層を持っています(簡略化):

IConnectionConfiguration と IService の複数の実装があります。次のプロバイダー/バインディングを作成したいと考えています。

  1. Connection の新しいインスタンスを構築します。
  2. GetAll を取得し、それを Connection に適用します。
  3. バインディングは、構築される IService のタイプに基づいて、使用される IConnectionConfiguration 実装を指定します。

現在、次のようなプロバイダーの実装があります。

しかし、 IConnectionConfiguration のコンテキストバインディングを作成しようとすると、親リクエストまたは親コンテキストがありません...

ここで何が間違っていますか?ninjectでこれを行うことはできますか?

0 投票する
1 に答える
523 参照

internationalization - Drupal7: Contextual filter: Content: Nid が Views3 の NID ではなく TNID を返す方法

Contextual フィルターがあります: Content: Nid in Views3 that I want to return the TNID instead of the NID When the filter value is NOT available .

私は試した

また

および[デフォルト値の提供:PHP コード]フィールド内のその他。何も機能しませんでした。

0 投票する
1 に答える
698 参照

ninject - ニンジェクトゲットWhenTargetHas

だから私はNinject、具体的には次のようなコンテキストバインディングを使用しています:

Kernel を使用して特定のインスタンスを取得する必要があり、 Condition に基づいて実行したいと考えていますWhenTargetHas<T>。次のようなものは素晴らしいでしょう。

条件に基づいてインスタンスを取得するにはどうすればよいですか?

0 投票する
1 に答える
742 参照

inheritance - Ninjectバインディング「すべてxから継承」

ごく普通のシナリオ:

次のように、A からのすべての継承を解決する Ninject バインディングを作成できるかどうか、本当に疑問に思います。

もちろん、これはタイプ A のリクエストに対してのみ機能します。B と C のリクエストは、デフォルトの方法で処理されます。

前もって感謝します

0 投票する
1 に答える
765 参照

ninject - Ninject.Activation.IRequest Target プロパティが null になる原因

おそらく簡単な質問ですが、ドキュメントや SO で直接答えられるものは見つかりませんでした。

初めてNinjectWhen(Func<IRequest, bool> condition)拡張メソッドを使用する必要があり、null オブジェクトの例外で少しハングアップしました。IRequest.Targetプロパティが nullの場合があることがわかり、null のチェックを使用する他の もいくつか見ました。WhenTarget

Ninject が の値を持たずにコールバックを実行する条件に興味がありますTarget。フォームのバインディングを作成する場合

私は当初、バインディングが実行されているときに有効なTarget型が常に存在すると誤って想定していました。T1

0 投票する
0 に答える
158 参照

ninject - コンテキスト バインディングと Lazy に関する Ninject の問題

Ninject は、 Lazy<T>も使用しているときにWhenInjectedInto contstraintを正しく使用していないようです。次の例を確認してください。OnLandAttackとOnLandAttackLazyはそれぞれSamuraiインスタンスを使用する必要があります。しかし、Lazy<T> バージョンはSpecialNinjaインスタンスで終わります。コンストラクターで実際に初期化されていないためだと思いますか?しかし、タイプはまだ正しく登録されているはずです。何か不足していますか?参考までに、これは Ninject 3.2.2 と Ninject.Extensions.Factory 拡張機能 3.2.1 を使用しています