如何重新开始所有属性的静态类在C#
问题描述:
public static class MySampleClass
{
public static string sampleProperty1
{
get { return GetValue("sampleProperty1"); }
}
public static string GetValue(string Key)
{
// Here is the code to get value from table based Key.
return Key;
}
}
我有像SampleProperty1 MySampleClass许多静态属性... 一旦我的属性设置的值,我不能将值重置为相同的属性。
答
你可能不知道。静态属性几乎每次都是代码异味,尤其是可变的。使它们成为非静态的并使用你的类的实例。
在这种情况下,您可以实现此类,因为每个新实例都使用某个table
的新值部分进行初始化。而且您不会遇到重新初始化的问题 - 只需创建此类型的新实例并使用新的新值进行初始化即可。
您当前的实现并不需要重新初始化 - 的MySampleClass
属性总是从table
得到实际值。如果table
的实例已过时,请换新的一个,并用新的一个替换旧的 - 之后MySampleClass
的属性将返回新值。
这是哪一种语言? –
c#,Mvc应用程序。 –
你如何为你的房产设置价值?它看起来像sampleProperty1将始终具有值“sampleProperty1”。 GetValue的目的是什么? – dsolimano