title: C# define that a class instance can never be null (it only contains no data)
body: <p>Out of curiosity: Is there a way to create a class whose reference to the class instance can never be set to null?
  Like haveing only a readonly pointer that can only be set to null by the class itself.</p>
  
  <p>What I have in mind:
  I would want to have an easy to read /use object that either exists with data or exists without (shown by an attribute like <em>hasData = false</em>). It is always accessable and should never be null / point to nowhere which as a side effect gets also rid of NullReferenceExceptions for objects that are sometimes supposed to not have a value without the need of checking for null.</p>