Comment puis-je obtenir le nom de la ressource à partir de l'objet de ressource?
Dire que j'ai un exe ajouté dans mon dossier de ressources. Maintenant, comment puis-je obtenir le nom (ou même le nom de chemin complet à partir de laquelle sont liés, de sorte que je peux encore avoir le nom de fichier) de la ressource en tant que chaîne de caractères?
De Properties.Resources.myApp
comment puis-je obtenir le string "myApp"
. ToString() ne marche pas. S'il est important d'intégrer le fichier pour obtenir le nom, je le peux.
Edit: Ma question n'est pas spécifiquement pour obtenir le nom de l'exe de ressources. Mais que l'on approche générique qui me donne le nom de la ressource! Par exemple si ma ressource est une image bitmap? J'ai besoin d'imprimer "Lily" de Properties.Resources.Lily
. Comment atteindre cet objectif? ToString pas travailler de toute façon.
source d'informationauteur nawfal
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est très vieux, mais le a accepté de répondre n'est plus nécessairement la meilleure réponse. Que de C# 6.0, vous pouvez simplement utiliser
nameof(...)
:Beaucoup plus simple!
Il est très facile à l'aide des Expressions Linq:
s
devraient êtreLily
Voulez-vous dire que vous voulez avoir de l'assemblée? Voici un petit extrait de code qui vous reçoit tous les fichiers exe à partir d'un répertoire:
Avec
System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
vous obtenez une liste de toutes les ressources de votre projet.Maintenant, si vous voulez la recherche de tous les fichiers exe (je suppose que vous avez un seul embedded) utiliser le code suivant pour obtenir votre nom d'assembly.
La chaîne de format est
"YourProgram.YourAssemblyName.exe"
il suffit donc de retirer la première partie de cette chaîne et que vous avez embarqué ressource de nom de fichier.Edit: Pourquoi ne pas vous énumérer vos ressources et de la bande de la principale de l'espace de noms + de fuite des extensions de fichier?
Edit:
Pour obtenir une ressource par nom, utilisez
var prop = Properties.Resources.ResourceManager.GetObject("YourRessourceNameWithoutExtension");
Lorsque vous incorporez des fichiers dans les ressources de votre projet, il sera intégrer dans votre fichier exécutable lorsqu'construire votre projet, il n'est donc pas exister séparément de votre projet exécutable, il n'existe pas sur votre disque dur.
donc, si vous voulez que ce myApp.exe dans votre dossier de projet de le mettre dans le dossier du projet, puis aller
Maintenant si vous voulez que le chemin de myApp.exe utilisation :
Mise à jour Vous devez coder en dur "myApp" parce que si vous allez à la définition de :
vous verrez :
C'est codé en dur !!!!