Hola a todos, estoy trabajando con el namespace "System.CodeDom" y deseo crear una clase con las siguientes caracteristica en base a los miembros de CodeDOM.
Código:
[System.Serializable()]
[System.Obsolete("This class is obsolete.")]
public class Class1
{
}
Para generar ese codigo, estoy utilizando el siguiente codigo
Código:
CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
CodeAttributeDeclaration codeAttrDecl = new CodeAttributeDeclaration("System.Serializable");
class1.CustomAttributes.Add(codeAttrDecl);
CodeAttributeArgument codeAttr = new CodeAttributeArgument(new CodePrimitiveExpression("This class is obsolete."));
codeAttrDecl = new CodeAttributeDeclaration("System.Obsolete", codeAttr);
class1.CustomAttributes.Add(codeAttrDecl);
Hasta ahi todo es perfecto, pero ahora quiero agregar algo mas a mi clase generada con CodeDOM, algo así:
Código:
[System.Serializable()]
[System.Obsolete("This class is obsolete.")]
[Transaction(TransactionOption.Required)]
public class Class1
{
}
Y notese que
[Transaction(TransactionOption.Required)] es diferente a
[System.Obsolete("This class is obsolete.")] ya que el parametro no es un string si no una clase.
He intentado usando CodePrimitiveExpression con algunas variantes pero al parecer no es la clase que necesito... cual es la clase que debo usar?
Como podria lograr eso utilizando CodeDOM?
Muchas gracias a todos ;)
Saludos.