Comment puis-je analyser tous les assemblys situés dans le répertoire bin et récupérer tous les types implémentant une interface?Rechercher une interface dans tous les assemblages de la corbeille
Répondre
Vous pouvez les trouver facilement en utilisant la réflexion et une requête LINQ
var type = typeof(IRyuDice);
var types = AppDomain.CurrentDomain.GetAssemblies().ToList()
.SelectMany(a => a.GetTypes())
.Where(t => type.IsAssignableFrom(t));
AppDomain.CurrentDomain.GetAssemblies
retourne une collection System.Reflection.Assembly[]
. Ensuite, vous sélectionnez tous les types dans cet assemblage et vérifiez si votre interface est utilisée par ce type.
http://msdn.microsoft.com/en-us/library/system.appdomain.getassemblies.aspx
Je ne pense pas que cela réponde à la question car il ne traitera que les assemblys qui sont chargés dans CurrentDomain, pas ceux présents mais pas encore utilisés dans le répertoire bin. Il y a une réponse ici qui pourrait aider: http://stackoverflow.com/questions/1288288/how-to-load-all-assemblies-from-within-your-bin-directory –
Ma réponse est peut-être trop évident, mais je vais donner un coup de feu ...
Vous devez jeter un oeil à DirectoryInfo pour obtenir tous les fichiers (* .dll) du répertoire et l'utilisation reflection afin de creuser dans eux ...
Est-ce que cela répond à votre question ou voulez-vous connaître la mise en œuvre réelle?
- 1. Utilisation de BuildManager.GetType pour rechercher les assemblages dans WPF
- 2. C# Réflexion: Obtenir * tous * les assemblages actifs dans une solution?
- 3. Liste de tous les assemblages référencés
- 4. Comment charger les assemblages qui implémentent une interface?
- 5. Comment puis-je trouver tous les assemblages de la solution?
- 6. Comment obtenir une liste de tous les assemblages actuellement chargés?
- 7. GetReferencedAssemblies ne retourne pas tous les assemblages
- 8. Lister les fichiers dans la corbeille
- 9. Comment supprimer par programme tous les éléments de la corbeille de deuxième niveau dans SharePoint 2007?
- 10. Récupère les chemins de tous les assemblages référencés
- 11. Mise à jour du numéro de version de tous les assemblages dans une solution
- 12. Enregistrement de correspondances Fluent NHibernate pour tous les assemblages dans une application
- 13. Services d'annuaire, Rechercher tous les fournisseurs disponibles
- 14. Demander à MEF d'utiliser tous les assemblages disponibles
- 15. Nommez-vous tous les assemblages utilisés par votre produit?
- 16. comment rechercher de tous les champs dans sql
- 17. Rechercher et remplacer tous les éléments
- 18. Débogage de la corbeille de Ruby
- 19. Utilisation des paramètres d'application dans les assemblages
- 20. Rechercher un assembly pour tous les types d'enfants?
- 21. comment rechercher tous les articles dans listview sans findstring
- 22. Comment supprimer le dossier dans la corbeille
- 23. Redirige les assemblages dans Mono?
- 24. Comment rechercher tous les mots séparés par des virgules dans
- 25. Comment rechercher dans tous les champs avec NHibernate Search?
- 26. comment rechercher un fichier dans tous les lecteurs
- 27. Récupération de NDepend dans un répertoire d'entrée Recherche de tous les assemblages/sources sur plusieurs projets
- 28. Rechercher tous les champs dans toutes les tables pour une valeur spécifique (Oracle)
- 29. Comment définir la hauteur de la corbeille SimpleHistogramBin dans SimpleHistogramDataset?
- 30. Comment puis-je vider la corbeille pour tous les utilisateurs à partir d'une application de service Windows dans C#
l'une de ces réponses répond à votre question? – hunter