【发布时间】:2009-08-27 11:23:13
【问题描述】:
我有以下课程:
public static class Pages
{
public static string LoggedOut = "LoggedOut.aspx";
public static string Login = "Login.aspx";
public static string Home = "Home.aspx";
}
我知道我可以静态使用Pages.Home,但我的问题是有原因的。
我希望有一个可以这样调用的方法:
string pageName = Pages.GetPage("Home");
等等
可能吗?
谢谢, 戴夫
【问题讨论】:
-
顺便说一句,您真的应该将这些字段标记为
readonly或改用只读属性。 -
const应尽可能避免,因为这些值不是运行时常量,而是编译时。如果您使用私有const字段,这应该不是问题,但如果您引用程序集并使用程序集中某个类的const字段,则该值将替换为 @987654328 的文字值@ 场地。如果您现在更改值并仅替换引用的程序集而不重新编译引用程序集,则旧值仍保留在引用程序集中,这很可能会导致不良行为。
标签: c# .net reflection static-members