問題タブ [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 投票する
1 に答える
453 参照

c# - オブジェクトのプロパティに基づいてバインディングを挿入しますか? コンベンションまたはコンテキストバインディング?

私はインターフェースを持っています:

そして私は2つのクラスを持っています:

o を送信してから、o のプロパティに基づいてどのインターフェイスであるかを Ninject に判断させたいと思います。Obj は次のようなものです。

次のようなものが欲しいです:

しかし、私は以前に Ninject を使用したことがありません。何か案は?

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

c# - 同じコンストラクタ パラメータに対して異なる名前を持つ 2 つ以上の依存クラスのコンテキスト バインディングを Ninject する

2 つのクラスが同じ基礎となるインターフェイスの依存関係を持っているが、各クラス ctor のパラメーターの名前が異なるシナリオで、コンテキスト バインディングを管理する方法を理解するのに苦労しています。私の状況を示すための以下の疑似コード:

fileCodeは、ローカル ファイルの分析に基づいて計算されます。ファイルのタイプが決定されたら、そのファイルを処理するための適切なオブジェクトを Ninject に返してもらいたい

B定義した既存のバインディングには別の名前のコンストラクター パラメーターが必要なため、バインディングをどのように処理しますか? 一般的にこれを行うより良い方法はありますか?

を使えばいいと思いますp.Name == "fileCode" || p.Name == "fileCd"が、何か間違ったことをしているという感覚を揺るがすことはできません(面倒です)。また、名前でパラメーターを取得することにわくわくしていません。おそらく、Ninject に文字列パラメーターと比較してより具体的なものを一致させるカスタム型を作成することを考えました。私が立っているところから、複数のパラメーター名の状況を管理するか、文字列の代わりにパラメーターとしてカスタム型に切り替えるかのように見えます。

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

c# - Ninject コンテキスト バインディングを使用する場合、属性とプロパティを取得するにはどうすればよいですか?

私はコンストラクタを持っています

この属性には、プロパティ「FilePath」が含まれています。

上記の場合、「C:\SampleData\login.json」になる「FilePath」の値を取得したいと思います。

Ninject の IContext を使用して値を取得することは可能ですか?

アイデアは、プロパティの値を取得し、次のようにバインディングで使用することです。

ここで、CheckAttributePath はデリゲートになります。

属性の値を取得する方法がわかりません。