Compartir por


CodeAttributeArgument Clase

Definición

Representa un argumento usado en una declaración de atributo de metadatos.

public ref class CodeAttributeArgument
public class CodeAttributeArgument
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeAttributeArgument
type CodeAttributeArgument = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeAttributeArgument = class
Public Class CodeAttributeArgument
Herencia
CodeAttributeArgument
Atributos

Ejemplos

El código siguiente crea una clase y agrega atributos de código para declarar que la clase es serializable y obsoleta.

using System;
using System.CodeDom;
using System.CodeDom.Compiler;

public class CodeGenExample
{
    static void Main()
    {
        // Declare a new type called Class1.
        CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");

        // Use attributes to mark the class as serializable and obsolete.
        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);

        // Create a C# code provider
        CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");

        // Generate code and send the output to the console
        provider.GenerateCodeFromType(class1, Console.Out, new CodeGeneratorOptions());
    }
}

// The C# code generator produces the following source code for the preceeding example code:
//
// [System.Serializable()]
// [System.Obsolete("This class is obsolete.")]
// public class Class1 {
// }
Imports System.CodeDom
Imports System.CodeDom.Compiler

Public Class CodeGenExample

    Shared Sub Main
        ' Declare a new type called Class1.
        Dim class1 as New CodeTypeDeclaration("Class1")

        ' Use attributes to mark the class as serializable and obsolete.
        Dim codeAttrDecl As New CodeAttributeDeclaration("System.Serializable")
        class1.CustomAttributes.Add(codeAttrDecl)

        Dim codeAttr As _
            New CodeAttributeArgument( new CodePrimitiveExpression("This class is obsolete."))
        codeAttrDecl = New CodeAttributeDeclaration("System.Obsolete", codeAttr)
        class1.CustomAttributes.Add(codeAttrDecl)

        ' Create a Visual Basic code provider
        Dim provider As CodeDomProvider = CodeDomProvider.CreateProvider("VisualBasic")

        ' Generate code and send the output to the console
        provider.GenerateCodeFromType(class1, Console.Out, New CodeGeneratorOptions())
    End Sub

End Class

' The Visual Basic code generator produces the following source code for the preceeding example code:
'
' <System.Serializable(),  _
'  System.Obsolete("This class is obsolete.")>  _
' Public Class Class1
' End Class

Comentarios

CodeAttributeArgument se puede usar para representar el valor de un único argumento de un constructor de atributos o un valor con el que inicializar una propiedad del atributo.

La Value propiedad indica el valor del argumento . La Name propiedad, cuando se usa, indica el nombre de una propiedad del atributo al que se va a asignar el valor.

Las declaraciones de atributo se inicializan con frecuencia con una serie de argumentos que se pasan al constructor del atributo en tiempo de ejecución. Para proporcionar argumentos al constructor de un atributo, agregue un CodeAttributeArgument para cada argumento a la Arguments colección de .CodeAttributeDeclaration Solo es necesario inicializar la Value propiedad de cada uno CodeAttributeArgument . El orden de los argumentos dentro de la colección debe corresponder al orden de los argumentos en la firma del método del constructor para el atributo .

También puede establecer propiedades del atributo que no están disponibles a través del constructor proporcionando un CodeAttributeArgument que indica el nombre de la propiedad que se va a establecer, junto con el valor que se va a establecer.

Constructores

Nombre Description
CodeAttributeArgument()

Inicializa una nueva instancia de la clase CodeAttributeArgument.

CodeAttributeArgument(CodeExpression)

Inicializa una nueva instancia de la CodeAttributeArgument clase utilizando el valor especificado.

CodeAttributeArgument(String, CodeExpression)

Inicializa una nueva instancia de la CodeAttributeArgument clase utilizando el nombre y el valor especificados.

Propiedades

Nombre Description
Name

Obtiene o establece el nombre del atributo.

Value

Obtiene o establece el valor del argumento de atributo.

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también