問題タブ [dryioc]
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.
dryioc - ループ内の依存関係の登録と解決
MVVM を使用するアプリケーションで次のハードコードされたセットアップがあります。
多数の IP アドレスがファイルから読み取られ、各アドレスの結果として、IP からのものを表示する ViewModel が作成されます。
DryIoc にこれを処理させたい場合、どのような方法が最適ですか? すべてのnew
オブジェクトは一意の foreach ループです。
dryioc - 特定の例で単純型を登録する
次のことを考慮してください
ClassA
MasterClass
には、とのインスタンスを取り、 typestring
という名前のプロパティを公開するコンストラクタがあります。Names
string[]
ClassB
と を取るコンストラクタがIJuicePresser
ありIEnumerable<string>
ます。
ClassC
を取るコンストラクタがありIEnumerable<string>
ます。
手動で、このようなことをしてそれらを結び付けます。
これらの登録/解決を処理するように DryIoc を設定するにはどうすればよいですか?
c# - DryIOC を使用して親階層インターフェイスを使用して解決する方法
私は次のオブジェクト構造を持っています
DryIOC でこれらの親インターフェイスと子インターフェイスの間で何らかのバインディングを行う方法はありますか?
編集:
私はいくつかの調査を行い、RegisterMany がそのトリックを実行したことを発見しましたが、少し混乱しています。
上記の個々の登録行のコメントを解除すると、Resolve は IAction と ICommand では機能しますが、IParser では機能しません。
RegisterMany
親タイプが正しく登録されていないようです...
編集2:
を使用して、登録を次のように変更しましたRegisterMapping
IParsers リストの項目は、最初に登録されたマッピングのタイプです。この場合ICommand
私はDryIOC v2.6.2を使用しています
dryioc - Autofac からの移行 解決方法
オーチャード キャッシングの設計:
Autofac コード:
質問:
Autofacにはメソッドがあります:
しかし、dryioc でパラメーターを使用して解決策を見つけることができません。dryioc ではどうすればよいですか?
dryioc - DryIoc レジストリ クラス
IOC 登録をグループ化するのに役立つ StructureMap のレジストリ機能が気に入っています。
http://structuremap.github.io/registration/registry-dsl/
コンテナーとして DryIOC を使用していますが、うまく機能していますが、レジストリ クラスを再編成する必要がある状況にあります。DryIOC に同等のレジストリ機能はありますか?
c# - DryIoc でプライベート コンストラクターを使用した実装をどのように使用しますか?
MyClass
内部、保護、または非公開の場合に備えて、DryIoc のコンストラクターを使用するように構成するにはどうすればよいですか?
c# - アセンブリを登録すると、列挙型も登録されます
アプリケーションで DI に DRYIOC を使用しています。MVC アプリケーションに、dryIOC に登録したいインターフェースがあります。したがって、以下のように RegisterMany を使用しています。
しかし、私は以下のようにエラーが発生しています
実装タイプ Web.Enums.Enum1 の単一コンストラクターを選択する方法が指定されておらず、パブリック コンストラクターがありません。
c# - DryIoc.Container を使用してインターフェイスを実装する特定の型 (実行時に既知) のインスタンスを解決する方法
タイトルは誤解を招く可能性がありますが、基本的には、実行時に型(インターフェイスを実装するクラスの型) が指定されている(同じインターフェイスの複数の実装が登録されている)インターフェイスの特定の実装DryIoc.Container
を解決したいと考えています。実装を解決するコードは次のようなことを行うことが期待されているため、実装を識別するために使用することはできません: 必要な実装を取得します (実装のタイプは、実行時に読み取る構成を介して取得されます)。serviceKey
container.Resolve<IService>(*** here specify the runtime type of the implementation ***)
上記のコードは次をスローします。
インターフェイスの登録済みのすべての実装を取得し、必要な実装を持つ実装をフィルタリングできることはわかっています ( DryIoc のメンテナーによるこの応答https://stackoverflow.com/a/37069854/5767019に似たコードを使用)。コンテナに依頼したときにコンテナに解決させる方法がわかりませんでした。