title: Property vs Function (specifically .NET)
body: <p>I've read some discussions about this subject, and there's something I just don't understand.</p>
  
  <p>The most common answer seems to be this: use a ReadOnly Property to return cached data, use a Function to return non-cached data. Don't use a WriteOnly Property at all, cause "it doesn't make sense".</p>
  
  <p>There is no performance reason for this. In IL, MyProperty exists as <code>get_MyProperty</code> and <code>set_MyProperty</code> methods. The only reason is apparently that the above answer should be assumed.</p>
  
  <p>Ok, then why bother with ReadOnly Properties at all? Why not just make the variable Public instead of Private?
  Then why bother with <strong>Properties</strong> at all? Cached data -> Public variable, non-cached data -> Function, writing data -> Sub</p>
  
  <p>Let's forget all the above, and use Properties as a handy feature?
  One 'item' to Get and Set data. Use common sense to know if a Get will not return cached data (possibly resulting in a delay).</p>
  
  <p>-Edit-
  I see people more or less agree that Properties are the best option.
  I just couldn't understand why I found so many discussions where people were advocating against Properties.</p>