0

regionManager の設定を担当するコンポーネントはどれですか?

http://msdn.microsoft.com/en-us/library/ff921141(v=pandp.40).aspxのプリズムに関するハンズオン ラボをフォローしています 。

public HelloWorldModule(IRegionManager regionManager)
    {
        this.regionManager = regionManager;
    }

regionManager を設定しているコンポーネントはどれですか?

4

1 に答える 1

2

これは依存性注入パターンです。Unityフレームワーク(UnityBootstrapper正確には)がを設定していregionManagerます。PrismダウンロードのPrism.UnityExtensions\UnityBootstrapper.csの下にコードが表示されます。

ConfigureContainerメソッドで:

RegisterTypeIfMissing(typeof(IRegionManager), typeof(RegionManager), true);

そしてそのRun方法では:

RegionManager.SetRegionManager(this.Shell, this.Container.Resolve<IRegionManager>());

実装がクラスに挿入するUnityPrismインターフェースであるHelloWorldModuleinheritsに気付くでしょう。IModuleUnityBootstrapper


依存性注入に慣れていない場合、これはその古典的なパターンです。クラスはそのコンストラクターを介して外部依存関係(この場合はIRegionViewRegistry)を要求し、DIフレームワークは実際の実装を注入する責任があります。

于 2012-09-23T01:37:23.460 に答える