title: Can I reset a static/shared class?
body: <p>I've got a <code>shared</code> class (<code>static</code> in C#) which mostly carries some settings data that any class in the application can read and sometimes write. Also there are some static properties which holds some internal states.</p>
  
  <p>Now I want to revert this class to initial stage of it. With all default variables etc. <em>Assume that the user want to reset the current state and start over without restarting the application.</em></p>
  
  <p>In a singleton model I'd simply renew it with something like this :</p>
  
  <pre><code>Public Sub Reset() 
      _Instance = New MyClass()
  End Sub
  </code></pre>
  
  <p>However this is not possible in a <code>Shared</code> class. Is there any idea about how can I accomplish this? Or should I switch <strong>back</strong> to Singleton?</p>