Jedes Mal, wenn ich eine Ressourcendatei in VS bearbeite, wird der entsprechende Code neu generiert und der Klassenzugriffsmodifikator auf intern gesetzt.
Es ist ein Problem für Strg-F -> ReplaceAll jedes Mal, wenn ich den Resx bearbeite. Gibt es eine Eigenschaft / Einstellung, mit der ich diese standardmäßig auf öffentlich setzen kann?
internal class MyResource {
internal static global::System.Resources.ResourceManager ResourceManager {...}
}
Ich brauche all diese internal
, um die public
ganze Zeit zu sein.
c#
.net
asp.net
asp.net-mvc
visual-studio
Robin Maben
quelle
quelle
Antworten:
ResXFileCodeGenerator
Verwenden Sie anstelle von diePublicResXFileCodeGenerator
.Sie können dies tun, indem Sie dies als Eigenschaft des benutzerdefinierten Tools im Eigenschaftenfenster für die Resx-Datei festlegen, auf die Sie öffentlich zugreifen möchten.
Bearbeiten : Alternativ können Sie den Zugriffsmodifikator auf öffentlich setzen, wenn Sie die resx-Datei in Visual Studio öffnen. Das Dropdown-Feld Zugriffsmodifikator befindet sich oben im Formular.
quelle
GlobalResourceProxyGenerator
, nicht nurResXFileCodeGenerator
; und beachten Sie auch, dass das Dropdown-Menü "Access Modofier" häufig deaktiviert ist)PublicResXFileCodeGenerator
nur die Ressourcenklasse öffentlich und nicht der Konstruktor.Klicken Sie mit der rechten Maustaste auf Ressourcendatei (
resource.resx
) => Eigenschaften .Benutzerdefiniertes Tool => Wechseln zu
PublicResXFileCodeGenerator
quelle
Vielleicht ist der einfachste Weg, eine abgeleitete Klasse mit einem öffentlichen Ctor zu erstellen?
Die generierte Klasse:
Die abgeleitete Klasse:
quelle