title: C# - Re-initialize static class?
body: <p>I have a class in a web application I am working on that holds client settings. For some background, I do not own this class, and changing it is not an option. We recently added some logic to store the settings in a database, and I was tasked with creating a page to edit them, fair enough.</p>
  
  <p>Here is my issue; the settings are held in a static class, and are themselves static, read-only properties. For example</p>
  
  <pre><code>public static class Settings
  {
   public static readonly setting1 = SettingmanagerClass.GetSetting("setting1");
   public static readonly setting2 = SettingmanagerClass.GetSetting("setting2");
   public static readonly setting3 = SettingmanagerClass.GetSetting("setting3");
  }
  </code></pre>
  
  <p>Now, for example, through the page I wrote, we change the value for setting2 to "Happy Variable"; it saves to the DB just fine, but now I need it to be reflected in the web app as the new value. Since it is a static readonly property of a static class, it only ever gets called when the app first wires up and can't be set manually.</p>
  
  <p>Just to reiterate, I don't own the original class, so "just make the properties writeable" is not (currently) a valid option. Normally I would just talk this over with my boss and he would make a judgement call and possibly allow me to modify the other class, but I am not in a position to make that call and he is out of the office for the week.</p>
  
  <p>So basically; is there any way to re-initialize a static class once a web application has started running? I just need for it to reload all of its properties as if the app was just rebuilt and started up again.</p>