質問

それよりも簡単な問題がかかわからないん:

Unity(PRISM)及び静的ます。この場合、延長方法。も、どうやってアクセスの"unity提供インスタンス"は、静的な方法です。と思いなどのロギングサービスのたいへのアクセスログの一部のものに思い静的な方法です。それからいいのrefのロギングサービス利用の場合です。

例あり実際上の問題)

public static void HookupPrismEvent(ref UIElement, ILogger log) {...}

いらなければならないのに、僕は不幸います。Resolve(静的解決).が見つからなかった場合には何もコンテナの統一もしくは静的な世界最高の検索条件かべるだけでもいう"奇妙な"..

その他のコメントをどうとる場合に使用DIの静的方法を教えてください。

クリス

編集-ok、現在のアプローチ後の回答:EDIT2後を考えるので、除去コンテナを提供し、"何が"....

  public static void AttachPrismEvents(this UIElement element, IEventAggregator eA)
    {
        var ev = eA.GetEvent<KeyPressedEvent>();
        element.KeyDown += ((sender, e) => ev.Publish(e));
    }

または、ログイン:

  public static void AttachPrismEvents(this UIElement element, ILogger log, IEventAggregator eA)
    {
        log.Debug("Doing stuff");
        var ev = eA.GetEvent<KeyPressedEvent>();
        element.KeyDown += ((sender, e) => ev.Publish(e));
    }
役に立ちましたか?

解決

静種類と会員は、敵の全てのものジ。

技術的にできて静的解決の方法でお知らせした重大な発表とディではなく、パターンとして知られるサービスロケータ.しかし、多くの人々(私も含めて考えるようにサービスロケータは、反パターンの理由による

  • この暗黙の前提の利用に当たっての事前準備のためのAPIを呼び出し側が認識するサービスロケータを正しく設定される前の呼び出し可能)
  • できなくなり巣容器
  • について紹介し、冗長依存性にサービスロケータ自体

なければならないstaticメソッドは、スタッフは最終的な依存関係によ方法を注いと思うことも多いの利益還元について再考すべき全体のAPIのデザイン。しばしば機能のモデリングすることができま一員としての入力パラメータです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top