¿Es posible en C# escribir código MSIL que agregará una directiva de preprocesador al código, por ejemplo, #warning
, si se cumple una determinada condición? O tal vez esto se puede hacer con reflexión, no sé.C#: escribir MSIL para agregar una directiva de preprocesador
Estoy tratando de escribir un atributo personalizado que, si se aplica incorrectamente al método o a la propiedad de una clase, generará una advertencia del compilador. Usar el atributo Obsolete
existente no funcionará porque solo el uso de mi atributo personalizado causa la advertencia, y no quiero eso. Quiero que el constructor de atributo personalizado compruebe una condición, y si esa condición es verdadera, genere una advertencia de compilación.
Actualización: Después de leer mi pregunta, creo que lo que estoy pidiendo es imposible solo porque estoy mezclando restricciones de tiempo de ejecución y en tiempo de ejecución. Creo que terminaré con una tarea posterior a la compilación para verificar el archivo DLL recién creado y hacer que escuche los mensajes de error si la condición es verdadera.
Me parece ver lo que está diciendo, usted quiere un atributo personalizado aplicado a un método, y emiten una directiva #warning si una condición es met..I no creo que se puede hacer eso ya que una #warning es una compilación directiva de tiempo .. – t0mm13b
Buena pregunta por cierto ... +1 de mí ... – t0mm13b