title: Is it possible to get an object property name string without creating the object instance?
body: <p>A <strong>string representation</strong> of an object instance property can be taken with <code>Expression&lt;Func&lt;T&gt;&gt;</code>:</p>
  
  <pre><code>string propertyName = ((MemberExpression) property.Body).Member.Name;
  </code></pre>
  
  <p>But what if I don't have (don't want to create) the instance? How do I get the property name in this case?</p>
  
  <p><strong>Explained</strong></p>
  
  <p>I need a string representation of a property name of some object.</p>
  
  <p>Let's say there is an entity</p>
  
  <pre><code>public class Customer
  {
      public int ID;
      public string Name;
  }
  </code></pre>
  
  <p>Now I want to pass the key expression of this entity to some other function, thus I need the string "ID", but I don't want to hardcode the string like <code>SomeOtherFunction("ID")</code>, instead I use the expression <code>SomeOtherFunction(ExpressionReader.GetString(() =&gt; CustomerInstance.ID))</code>. For this to work I need to supply the entity instance.</p>
  
  <p>Now I want to do the same <strong>without</strong> creating the instance.</p>