title: Why HttpRequest.HttpMethod is string instead of Enum?
body: <p>In the <a href="http://msdn.microsoft.com/en-us/library/system.web.httprequest.httpmethod.aspx">Reference of <code>HttpRequest.HttpMethod</code></a> of .NET Framework, request type is declared with <code>System.String</code> type.</p>
  
  <p>In <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9">RFC 2616</a> all HTTP request methods are declared (e.g. POST, GET, PUT, DELETE...).</p>
  
  <p>There's also similar behavior in <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx"><code>HttpWebRequest</code></a> and <code>WebRequest</code> classes of .NET.</p>
  
  <p>Java has the similar approach on <a href="http://download.oracle.com/javase/6/docs/api/java/net/HttpURLConnection.html#setRequestMethod%28java.lang.String%29"><code>HttpURLConnection#setRequestMethod(String)</code></a> method.</p>
  
  <p>Why do these language designers do not consider implementing an enum for those HTTP methods?</p>
  
  <p>Do you have an idea?</p>