Zasoby są zwracane w następującym formacie.
[Namespace].[Folder].[Filename]
Należy pamiętać, że wszystkie foldery na ścieżce są oddzielone znakami .
. Więc jeśli miał wbudowany zasób o następującej konfiguracji
myproject.csproj (Namespace = com.mycompany.myproject)
- Resources
- Images
- Icons
- my_icon.ico
Nazwa zasobu byłyby ...
com.mycompany.myproject.Resources.Images.Icons.my_icon.ico
Jeśli chcesz wybrać wszystkie z określonego folderu, można wykorzystać następujące LINQ wyrazić lub zmodyfikować zgodnie z własnymi potrzebami.
string prefix = "your_namespace.your_folder."
var resourceNames = Assembly.GetExecutingAssembly()
.GetManifestResourceNames()
.Where(name => name.StartsWith(prefix));
Ten kod wygeneruje błąd, ponieważ nie można przekonwertować IEnumerable ciąg. Poza tym nie uwzględnia więcej niż jednego pliku w tym samym folderze – Flavia
Ups, wkleił ten kod z innego projektu i zapomniał zmodyfikować typ. Poprawiłem to teraz. –
Teraz zasługuje na głos :) – Flavia