如何在c#中重新启动静态类中的所有属性

时间:2017-11-18 12:55:31

标签: c# class static



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 ...... 一旦我为属性设置了值,我就无法将值重置为相同的属性。

1 个答案:

答案 0 :(得分:1)

你可能没有。静态属性几乎每次都是代码气味,尤其是可变的。使它们非静态并使用您的类的实例。

在这种情况下,您可以实现此类,因为每个新实例都使用某些table的新值部分进行初始化。并且您不会有重新初始化的问题 - 只需创建此类型的新实例,它将使用新的新值进行初始化。

您当前的实施不需要重新初始化 - MySampleClass的属性始终从table获得实际值。如果table的该实例已过时,请使用新的实例替换旧实例 - 在MySampleClass的属性将返回新值之后。