Za każdym razem, gdy edytuję plik zasobów w VS, ponownie generuje on odpowiedni kod i ustawia modyfikator dostępu do klasy na wewnętrzny.
Uciążliwe jest Ctrl-F -> ReplaceAll za każdym razem, gdy edytuję resx. Czy istnieje właściwość / ustawienie, które mogę ustawić jako publiczne?
internal class MyResource {
internal static global::System.Resources.ResourceManager ResourceManager {...}
}
Muszę mieć internal
to public
wszystko przez cały czas.
c#
.net
asp.net
asp.net-mvc
visual-studio
Robin Maben
źródło
źródło
Odpowiedzi:
Zamiast tego
ResXFileCodeGenerator
użyjPublicResXFileCodeGenerator
.Możesz to zrobić, ustawiając to jako właściwość narzędzia niestandardowego w oknie właściwości dla pliku Resx, do którego chcesz mieć publiczny dostęp.
Edycja : alternatywnie możesz ustawić modyfikator dostępu jako publiczny po otwarciu pliku resx w programie Visual Studio. Pole rozwijane Modyfikator dostępu znajduje się u góry formularza.
źródło
GlobalResourceProxyGenerator
nie tylkoResXFileCodeGenerator
; i zauważ również, że menu rozwijane „Access Modofier” jest często wyłączone)PublicResXFileCodeGenerator
jedynej powoduje, że klasa Resources jest publiczna, a nie jej konstruktor.Kliknij prawym przyciskiem myszy plik zasobów (
resource.resx
) => Właściwości .Narzędzie niestandardowe => Zmień na
PublicResXFileCodeGenerator
źródło
Być może najłatwiejszym sposobem jest utworzenie klasy pochodnej za pomocą publicznego edytora?
Wygenerowana klasa:
Klasa pochodna:
źródło