Tengo un fragmento de código en mi programa que distingue las clases generadas por el compilador comprobando si contienen "DisplayClass" en su nombre de tipo.
al leer this answer, creo que necesito una mejor manera. ¿Cómo diferenciar las clases generadas por el compilador de las clases de usuario en .NET?Cómo diferenciar las clases generadas por el compilador de las clases de usuario en .NET
6
A
Respuesta
13
clases Verificar atributo CompilerGenerated
distinguir compilador clases generadas a partir de otra
En reflector de esos visualización clases pueden verse como esto:
[CompilerGenerated]
private sealed class <>c__DisplayClass1
{..}
7
Esta respuesta realmente me ayudó ¡fuera! Aquí está el código que tenía que añadir a comprobar un Type
para la CompilerGeneratedAttribute
como Valentin Kuzub mencionó:
using System.Runtime.CompilerServices;
//...
bool IsCompilerGenerated(Type t)
{
var attr = Attribute.GetCustomAttribute(t, typeof(CompilerGeneratedAttribute));
return attr != null;
}
Cuestiones relacionadas
- 1. Prefijo de las clases generadas por JAXB
- 2. Derivado de las clases generadas por Entity Framework en C#
- 3. Agregar DataAnnontations a las clases parciales generadas
- 4. JAXB: las clases generadas implementan la interfaz
- 5. ¿Cómo usar las clases de cliente webservice generadas con Eclipse?
- 6. dónde poner las clases definidas por el usuario en Rails
- 7. Maven - cómo manejar clases generadas
- 8. Agregar documentación/comentarios XML a las propiedades/campos en las clases generadas por EF
- 9. Detección confiable de clases generadas por el compilador en árboles de expresión C#
- 10. .net Herencia múltiple de las clases abstractas
- 11. ¿Por qué las clases generadas por JAXB tienen miembros protegidos y cómo puedo cambiar esto?
- 12. Las clases generadas de referencia del servicio web .NET no funcionan con dateTime tipo
- 13. Xcode 3.2.1 - ¿Por qué las clases generadas por Core Data generan errores de compilación?
- 14. Las clases generadas por el generador de T4 personalizada se ven desordenadas
- 15. LuaInterface - cómo restringir el acceso a las clases .Net?
- 16. Deshágase de JAXBElement en las clases generadas por wsimport llamadas desde ant
- 17. Usar clases generadas JAXB (xjc) en android
- 18. ¿Cómo puedo personalizar las clases de casos de prueba de DUnit generadas por el asistente de Caso de prueba?
- 19. enumeración de las clases derivadas
- 20. JAXB: ¿Cómo cambiar los nombres de las clases generadas por XJC cuando se especifica el tipo attr en XSD?
- 21. Cómo configurar hbm2java y hbm2dao para agregar el nombre del paquete a las clases generadas
- 22. S3 y el orden de las clases
- 23. uso correcto de las clases?
- 24. ¿Por qué Android prefiere las clases estáticas
- 25. clases desacoplamiento de dominio de las clases Django Modelo
- 26. ¿Por qué Eclipse no actualiza las clases?
- 27. ¿Cómo utilizar las clases de distribución normal?
- 28. Rehacer las clases estándar
- 29. Obteniendo todas las clases internas por reflexión
- 30. clases polimórficas en las plantillas
Nota: si el código autogenerate mismo, utiliza el 'GenerateCodeAttribute', en lugar del' CompilerGeneratedAttribute', como [explicada por David Kean en este blog de MSDN] (http://blogs.msdn.com/b/codeanalysis/archive/2007/04/27/correct-usage-of-the-compilergeneratedattribute-and-the-generatedcodeattribute.aspx). – Abel