2017-06-23 10 views
0

問題:私はDirectoryModuleCatalogを使用する場合はModulecatalog.Modulesは空であり、DirectoryModuleCatalogは正常に動作していますか?

、その後、ModuleCatalogは(のみbase.InitializeModulesた後、空の保持)。モジュールはModuleCatalogにありますが、すでに初期化されています。

protected override IModuleCatalog CreateModuleCatalog() 
{ 
    var moduleCatalog = new DirectoryModuleCatalog() { ModulePath = @".\Modules" }; 
    return moduleCatalog; 
} 

    protected override void InitializeModules() 
    { 
     // No Modules are in the list 
     // I aspect, that temp shall not empty, temp shall have the modules in the list of my directory, of the module shall not be initialized. 
     var temp = ModuleCatalog.Modules; 
     base.InitializeModules(); 
     // Modules visible but already init done 
    } 

私はModuleCatalogにコードでモジュールを追加した場合は、もちろん私のリストが空でない

protected override IModuleCatalog CreateModuleCatalog() 
     { 
      Type module1Type = typeof(ModuleHelper); 
      string path = module1Type.Assembly.Location; 
      IModuleCatalog moduleCatalog = new ModuleCatalog(); 
      moduleCatalog.AddModule(
        new Prism.Modularity.ModuleInfo() 
        { 
         ModuleName = module1Type.Name, 
         ModuleType = module1Type.AssemblyQualifiedName, 
         Ref = new Uri(path, UriKind.RelativeOrAbsolute).AbsoluteUri 
        }); 

     } 

protected override void InitializeModules() 
     { 
      // temp is not empty 
// Modules visible and init not done 
      var temp = ModuleCatalog.Modules; 

      base.InitializeModules(); 

     } 

質問:

リスト内のモジュールではないがあるべき、 DirectoryModuleCatalogがインスタンス化された後これはDirectoryModuleCatalogに対して通常の の動作ですか?

+0

この現象の結果、問題が発生していますか?何か壊れていますか? –

+0

私はバグを意味するか、DirectoryModuleCatalogを誤解しています。私はDirectoryModuleCatalogを使用して利用可能なモジュールを表示したいと思いますが、それらが初期化される前にこの動作では不可能と思われます。 – Shazter

答えて

1

期待どおりに動作します。 Prism DirectoryModuleCatalogクラスを使用すると、ローカルディレクトリをWPFのモジュールカタログとして指定できます。このモジュールカタログは、指定されたフォルダをスキャンし、アプリケーションのモジュールを定義するアセンブリを検索します。この方法を使用するには、モジュールクラスの宣言的な属性を使用して、モジュール名とその依存関係を指定する必要があります。

関連する問題