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;
}
}

我在MySampleClass中有很多静态属性,比如SampleProperty1 ...... 一旦我为属性设置了值,我就无法将值重置为相同的属性。
答案 0 :(得分:1)
你可能没有。静态属性几乎每次都是代码气味,尤其是可变的。使它们非静态并使用您的类的实例。
在这种情况下,您可以实现此类,因为每个新实例都使用某些table
的新值部分进行初始化。并且您不会有重新初始化的问题 - 只需创建此类型的新实例,它将使用新的新值进行初始化。
您当前的实施不需要重新初始化 - MySampleClass
的属性始终从table
获得实际值。如果table
的该实例已过时,请使用新的实例替换旧实例 - 在MySampleClass
的属性将返回新值之后。