, ? , . , Accept AcceptCharset, , , switch.
, Hashtable - ? ?
. , - , , . , HttpRequestHeader, . :
public static class HTTP
{
public static string GetHeaderString(HttpRequestHeader header)
{
switch (header)
{
case HttpRequestHeader.Accept: return "Accept";
case HttpRequestHeader.AcceptCharset: return "Accept-Charset";
default: throw new KeyNotFoundException(header.ToString());
}
}
}
- Java:
public sealed class RequestHeader
{
public static RequestHeader Accept = new RequestHeader("Accept");
public static RequestHeader AcceptCharset =
new RequestHeader("Accept-Charset");
private readonly string name;
private RequestHeader(string header)
{
this. name = name;
}
public string Name
{
get { return name; }
}
}
null, RequestHeader, . (Enums , - ((HttpRequestHeader)-1) ... , .)
EDIT: , # 3 ( ), :
public static class HTTP
{
private static readonly Dictionary<HttpRequestHeader, string> Headers =
new Dictionary<HttpRequestHeader, string>
{
( HttpRequestHeader.Accept, "Accept" ),
( HttpRequestHeader.AcceptCharset, "Accept-Charset" )
};
public static string GetHeaderString(HttpRequestHeader header)
{
return Headers[header];
}
}