title: Properties get renamed when their name is the same as the datatype they return
body: <p>I am facing the following problem:</p>
  <p>My interfaces are defined in C#. I use custom enums in my interfaces. Some of the enums have the same name as the datatype they return, e.g.:</p>
  <pre><code>Foo Foo { get; }
  Bar Bar { get; }
  </code></pre>
  <p>I use tlbexp to use the module in C++.
  Properties that share their name with their datatype are renamed from &quot;Name&quot; to &quot;_Name&quot;:</p>
  <blockquote>
  <p>Bar myEnumValue = pFoo-&gt;Bar // does not exist</p>
  <p>Bar myEnumValue = pFoo-&gt;_Bar // is my 'Bar'-Property</p>
  </blockquote>
  <p>So far, i did not find any documentation about the reason and if/how i am able to prevent this.
  I do not get any warnings during build or export..
  To make the usage of my module intuitive, I do not want to rename the property or the enum.</p>
  <p>Can anyone explain me why this happens?</p>