title: C#: Force a pointer to never be null
body: <p>I have a class with a property: <code>public MyClass myProperty { get; set; }</code>. When a object is created, this property is null.</p>
  
  <p>I wanted it to automatically call a <code>MyClass()</code> and instantiate this property, and compiler throw error for a <code>myObject.myProperty = null;</code>.</p>
  
  <p>Is it possible to do that in C#? Or do I need to encapsulate a verification in the property's getter?</p>