Foros del Web » Programación para mayores de 30 ;) » .NET »

CodeDOM

Estas en el tema de CodeDOM en el foro de .NET en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 09/03/2007, 16:41
 
Fecha de Ingreso: diciembre-2004
Mensajes: 130
Antigüedad: 19 años, 4 meses
Puntos: 0
Exclamación CodeDOM

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.
__________________
langdotnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:44.