Estoy usando VS2008 y me gustaría crear un error/advertencia de tiempo de compilación en función de los atributos personalizados en una propiedad (si es posible).Generando una advertencia de tiempo de compilación personalizada C#
Hay dos casos que me interesan actualmente:
[MyAttribute (typeof(MyClass)]
miclase tiene que implementar una interfaz. Actualmente Afirmo esto en el constructor del atributo, sin embargo, esto no significa que sea fácil de localizar, debido a la naturaleza de la traza de la pila:
public MyAttribute (Type MyClassType)
{
System.Diagnostics.Debug.Assert(typeof(MyInterface).IsAssignableFrom(MyClassType),
"Editor must implement interface: " + typeof(MyInterface).Name);
}
El segundo caso que me interesa es donde tengo una tipo definido en un atributo, si ese tipo implementa una interfaz, se debe mostrar una advertencia si no hay otro atributo presente.
I.E. si (MyClass.Implements (SomeInterface) & &! existe (SomeAttibute)) {} Generar Advertencia
[MyAttribute(typeof(MyClass)]
// Comment next line to generate warning
[Foo ("Bar")]
Gracias!
Interesante pregunta, tengo curiosidad si tal cosa es posible. +1 –
Interesado también. –
http://stackoverflow.com/questions/154109/custom-compiler-warnings –