Chcę przechowywać moje zasoby w innym formacie pliku niż .resources (w szczególności .po), więc napisałem niestandardowy zestaw zasobów z niestandardowym czytnikiem zasobów, aby je odzyskać. Stworzyłem ResourceManager za pomocą statycznej metody CreateFileBasedResourceManager, która tworzy nowe wystąpienie menedżera, który pobiera zbiory zasobów z plików w konkretnym katalogu, używając określonego zestawu zasobów (niestandardowego, który napisałem w moim przypadku), używając Name.culture.resources nazwy plików.Przedłużenie menedżera zasobów opartego na plikach C#
Chciałbym jednak zmienić konwencję nazw plików. Zauważyłem, że istnieje nadpisywalna metoda GetResourceFileName dla dokładnie tego celu. Używając reflektora zauważyłem, że konstruktor użyty przez CreateFileBasedResourceManager jest prywatny i niemożliwe jest ustawienie flagi "use files as assembled" inaczej.
Czy istnieje sposób obejścia tego, bez konieczności ponownego wdrożenia całej metody InternalGetResourceSet?
Wielkie dzięki!
Czy kiedykolwiek się to sortowane? Możesz użyć refleksji wewnątrz aplikacji, aby ominąć problem "prywatnej flagi". – jcolebrand
Użyłem odbłyśnika, aby po prostu skopiować implementację menedżera zasobów i zmodyfikować wszystko, czego potrzebowałem. Niezbyt elegancko, ale zadziałało. –