J'ai la classe suivante:valeur Get de champ statique
public static class Pages
{
public static string LoggedOut = "LoggedOut.aspx";
public static string Login = "Login.aspx";
public static string Home = "Home.aspx";
}
Je sais que je peux utiliser Pages.Home
statiquement, mais il y a une raison de ma question.
Je souhaite avoir une méthode que je peux appeler comme ceci:
string pageName = Pages.GetPage("Home");
etc.
C'est possible?
Merci, Dave
Soit dit en passant, vous * vraiment * devrait marquer le readonly' ou l'utilisation de ces champs propriétés en lecture seule à la place. –
... ou 'const' –
' const' devrait être évité, si possible, car les valeurs ne sont pas constantes à l'exécution, mais compiletime. Si vous utilisez des champs 'const' privés, cela ne devrait pas poser de problème, mais si vous faites référence à un assembly et que vous utilisez les champs' const' de l'une des classes de l'assembly, la valeur est remplacée par la valeur littérale du 'const 'champ. Si vous modifiez maintenant la valeur et que vous remplacez simplement l'assembly référencé sans recompiler l'assembly de référence, l'ancienne valeur reste dans l'assembly de référence, ce qui entraîne très probablement un comportement indésirable. –