title: How to make the compiler know a parameter is property name
body: <p>When using xUnit, if I put code :</p>
  
  <pre><code>public static IEnumerable&lt;object[]&gt; TestCases
  {
          // test data
  } 
  [Theory, PropertyData("TestCases")]
  public  void Test(// some parameter){}
  </code></pre>
  
  <p>The compiler/resharper(I am not sure what make it work) know "TestCases" (the string parameter in the constructor) is the static property TestCases I defined.</p>
  
  <p>What is the mechanism behind it?</p>
  
  <p>Thanks for the comments.</p>
  
  <p>Here's what I observe.
  The string is highlighted as an error if there's no corresponding member with that name. 
  Seems it is about the R#, when I turn it off the error won't show up anymore.</p>