title: C# Using a function to get instance instead of "new"
body: <p>Getting used to some new code and have a question. All over it, I am seeing the following</p>
  
  <p>file1.cs :</p>
  
  <pre><code>MyClass myInstance = MyClass.Instance();
  </code></pre>
  
  <p>...and then in the definition of MyClass there is...</p>
  
  <p>MyClass.cs : </p>
  
  <pre><code>public class MyClass {
  
     // etc. etc.
  
     static readonly MyClass _instance = new MyClass();
  
     public static MyClass Instance() {
        return _instance;
     }
  
     // etc. etc.
  
  }
  </code></pre>
  
  <p>What's the reason for doing that as opposed to just in file1.cs :</p>
  
  <pre><code>MyClass myInstance = new MyClass();
  </code></pre>
  
  <p>?</p>