Ich habe entdeckt, dass der folgende Code:Warum erstellt der C# -Compiler aus diesem Code eine PrivateImplementationDetails?
public static class MimeHelper
{
public static string GetMimeType(string strFileName)
{
string retval;
switch (System.IO.Path.GetExtension(strFileName).ToLower())
{
case ".3dm": retval = "x-world/x-3dmf"; break;
case ".3dmf": retval = "x-world/x-3dmf"; break;
case ".a": retval = "application/octet-stream"; break;
// etc...
default: retval = "application/octet-stream"; break;
}
return retval;
}
}
den Compiler verursacht dieses namespaceless, interne Klasse (kopiert von Reflector) zu erstellen:
<PrivateImplementationDetails>{621DEE27-4B15-4773-9203-D6658527CF2B}
- $$method0x60000b0-1 : Dictionary<String, Int32>
- Used By: MimeHelper.GetMimeType(String) : String
Warum ist das so? Wie würde ich den obigen Code ändern, damit es (aus Interesse nur)
Dank
Andrew
als Off-Thema, warum verwenden Sie zusätzliche Zeichenfolge Variable Retval, wenn Sie sofort vom Switch zurückkehren können? – abatishchev
weil es ein Copy-and-Paste-Job von irgendwo war, ja konnte ich es ändern (und werde es ändern) –