Est-il possible d'ajouter une DLL qui implémente la cmdlet PowerShell au projet C# et d'appeler ses fonctions comme vous le feriez normalement avec les classes? Le problème est que cmdlet n'a pas de fonctions appropriées à appeler. Il a invoke
et d'autres choses à la place. Pour autant que je sache, une autre façon de faire est d'utiliser l'espace de noms System.Management.Automation
. Mais je crains que cela ne cause des pertes de performances si je lance la fonction comme 7000 fois de suite.Utiliser la fonction de la cmdlet dll powershell
Pour être exact, j'ai des comdlets comme Remove-NAVApplicationObjectLanguage
pour MS Dynamics Nav qui traitent les fichiers et 7000 fichiers à traiter. Je veux envelopper dans la bibliothèque et l'appeler avec mon traitement supplémentaire d'une manière pratique pour moi.
Les frais généraux de performance d'invoquer une instance de l'applet de commande dans le code 7000 fois ne va pas être différent de l'invoquer 7000 fois à la ligne de commande. Pour répondre à votre question: non, pas directement, l'interface cmdlet utilise des méthodes 'protected', c'est pourquoi vous ne voyez que' Invoke() 'exposé lors de la création d'une instance d'une classe Cmdlet. –