Ich habe die folgende Klasse bekommt:Get Wert von statischem Feld
public static class Pages
{
public static string LoggedOut = "LoggedOut.aspx";
public static string Login = "Login.aspx";
public static string Home = "Home.aspx";
}
Ich weiß, ich Pages.Home
statisch verwenden kann, aber es gibt einen Grund für meine Frage.
Ich möchte eine Methode haben, die ich so nennen kann:
string pageName = Pages.GetPage("Home");
usw.
C'est möglich?
Danke, Dave
By the way, Sie * wirklich * sollten diese Felder 'readonly' oder Nutzung markieren Nur-Lese-Eigenschaften. –
... oder 'const' Strings –
' const' sollte möglichst vermieden werden, da die Werte nicht runtime-constant, sondern compiletime sind. Wenn Sie private 'const'-Felder verwenden, sollte dies kein Problem sein. Wenn Sie jedoch auf eine Assembly verweisen und' const'-Felder einer der Klassen in der Assembly verwenden, wird der Wert durch den Literalwert von 'const ersetzt 'Feld. Wenn Sie jetzt den Wert ändern und nur die referenzierte Assembly ersetzen, ohne die referenzierende Assembly erneut zu kompilieren, verbleibt der alte Wert in der referenzierenden Assembly, was höchstwahrscheinlich zu einem unerwünschten Verhalten führt. –