2011-06-20 14 views

Respuesta

13

clases Verificar atributo CompilerGenerated distinguir compilador clases generadas a partir de otra

http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.compilergeneratedattribute.aspx

En reflector de esos visualización clases pueden verse como esto:

[CompilerGenerated] 
private sealed class <>c__DisplayClass1 
{..} 
+0

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

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