title: .NET Method Naming: when to use XXXFor and when to use GetXXX
body: <p>When working with asp.net mvc, we'll see that there're lots of methods named with "For" suffix, such as <code>Html.EditorFor(...)</code>, <code>Html.TextBoxFor(...)</code> etc. These names are very intuitive and I like them. </p>
  
  <p>My question is, when to use <code>GetXXX(...)</code> and when to use <code>XXXFor(...)</code>? It seems that even in the same framework, the naming of such methods are still not consistent. Sometimes <code>GetXXX(...)</code> is used while sometimes <code>XXXFor(...)</code> is used. Is there some naming principle on this?</p>
  
  <p><strong>BTW</strong>:</p>
  
  <p>I'm curious about this is because I'm writing a class called <code>EntityKey</code>. I want to put two static methods in this class. They are <code>EntityKey.Get(object entity)</code> and <code>EntityKey.GetKeyProperties(Type entityType)</code>. But I'm thinking about to rename the <code>Get</code> method to <code>For</code>, so <code>EntityKey.For(object entity)</code>. If I renamed <code>Get</code> to <code>For</code>, I think it's better to also rename <code>GetKeyProperties</code> to <code>KeyPropertiesFor</code>. What do you think?</p>