2017-10-17 40 views
0

Quel est le meilleur moyen d'appeler des services de données et d'organiser un projet modulaire dans WPF?Appel dynamique de dataservice dans différents modules en fonction du type d'objet WPF MVVM C#

Je suis assez nouveau dans MVVM et WPF et I ont un projet avec au moins:

  • 1 modules principaux du module
  • 10 indépendants "organisateur" (dont sont chargés ou non)
  • A dataservice dans chaque module pour faire une opération avec mes données

Je veux savoir si elles sont un moyen d'appeler mon module dataservice de mon module principal organisateur dynamique sans utiliser super_long_switch_cas e_of_death_with_redondant_code. Quelle est la meilleure façon de réaliser cela?

Pour exemple, lorsque je clique sur l'un de mes articles (dans un TreeView), j'appelle une commande qui exécute cette fonction:

private void AddNewThingsCommand(object myObject) 
{ 
     if (myObject== null) return; 

     var objectType = myObject.GetType().ToString(); 
     switch (objectType) 
     { 

      case "FirstObjectType": 

       ModuleFirst.Services.ModuleFirstDataService moduleFirstDataService = new ModuleFirst.Services.ModuleFirstDataService(); 
    moduleFirstDataService.DoSomeSuperActionInMyDataService(someObject); 
       break; 
      case "SecondObjectType": 

       ModuleSecond.Services.ModuleSecondDataService ModuleSecondDataService = new ModuleSecond.Services.ModuleSecondDataService(); 
    ModuleSecondDataService.DoSomeRandomSuperActionInMyDataService(someObject2); 
       break; 

      default: 
       break; 
     } 

} 

Mais il semble y avoir des choses vraiment répétitif et inutile de le faire, avez-vous une idée de comment automatiser cela?

Je n'ai pas besoin d'un WPF Trigger based on Object Type Je cherche quelque chose que je peux utiliser dans une commande pour charger dynamiquement mes services et obtenir des éléments à travers mes modules.

Répondre