C# Obtenir les ressources intégrées de dossier spécifique ou la distinction entre les ressources incorporées dans des dossiers différents
Le titre résume assez bien. Je sais que je peux obtenir la ressource incorporée noms à l'aide de:
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
string[] files = assembly.GetManifestResourceNames();
Mais je voudrais être en mesure d'obtenir les ressources incorporées à partir d'un dossier spécifique. Ou au moins être capable de distinguer entre les ressources incorporées dans des dossiers différents.
OriginalL'auteur Brandon | 2013-04-11
Vous devez vous connecter pour publier un commentaire.
Les ressources sont retournés dans le format suivant.
Noter que tous les dossiers dans le chemin d'accès sont séparés par
.
'. Donc, si vous avez eu une ressource incorporée avec la configuration suivanteLe nom de la ressource, ce serait...
Si vous souhaitez sélectionner à partir d'un dossier spécifique, vous pouvez utiliser les éléments suivants expression LINQ ou la modifier selon vos besoins.
Oups, collé ce code à partir d'un autre projet et j'ai oublié de modifier le type. J'ai corrigé maintenant.
Maintenant, il mérite un vote 🙂
Cette rechercher tous les fichiers dans le dossier, y compris les sous-dossiers! De plus, si vous aviez fichier incorporé
Res/my.special.file.txt
et vous avez effectué une recherche pour tous les fichiers à l'intérieur deRes/my/
il serait renvoyé.Il serait utile de noter que si votre dossier a un trait d'union dans le nom, qui se "convertir" à un trait de soulignement pour le nom de la ressource. J'ai été bashing par la tête contre mon bureau jusqu'à ce que je suis venu ici et utilisé
GetManifestResourceNames
.OriginalL'auteur Timothy Schoonover
Si vous créez un sous-dossier Images, et place le fichier, puis le nom de la ressource devient de l'Assemblée.Les Images.nom de fichier.
De sorte que vous pouvez essayer quelque chose comme:
OriginalL'auteur Flavia