he descubierto que el siguiente código:¿Por qué el compilador de C# crea un PrivateImplementationDetails a partir de este código?
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;
}
}
hace que el compilador para crear esta namespaceless, clase interna (copiado del reflector):
<PrivateImplementationDetails>{621DEE27-4B15-4773-9203-D6658527CF2B}
- $$method0x60000b0-1 : Dictionary<String, Int32>
- Used By: MimeHelper.GetMimeType(String) : String
¿Por qué? ¿Cómo podría cambiar el código anterior para que no suceda (justo fuera de interés)
Gracias
Andrew
como fuera de tema, ¿por qué usa un retval de variable de cadena adicional, si puede devolver el cambio inmediatamente? – abatishchev
porque era un trabajo de copiar y pegar desde algún lugar, sí, pude (y lo haré) cambiarlo para hacerlo –