Compartir a través de


CodeAttribute2 (Interfaz)

Define un atributo para un elemento de código.

Espacio de nombres:  EnvDTE80
Ensamblado:  EnvDTE80 (en EnvDTE80.dll)

Sintaxis

'Declaración
<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")> _
Public Interface CodeAttribute2 _
    Inherits CodeAttribute
[GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface CodeAttribute2 : CodeAttribute
[GuidAttribute(L"35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface class CodeAttribute2 : CodeAttribute
[<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")>]
type CodeAttribute2 =  
    interface
        interface CodeAttribute
    end
public interface CodeAttribute2 extends CodeAttribute

El tipo CodeAttribute2 expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública Arguments Obtiene una colección de objetos CodeElement que contiene los objetos CodeAttributeArgument asociados a este atributo.
Propiedad pública Children (Se hereda de CodeAttribute).
Propiedad pública Children Obtiene una colección de objetos contenidos en esta construcción de código.
Propiedad pública Collection (Se hereda de CodeAttribute).
Propiedad pública Collection Obtiene una colección de objetos CodeAttribute2.
Propiedad pública DTE (Se hereda de CodeAttribute).
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública EndPoint (Se hereda de CodeAttribute).
Propiedad pública EndPoint Obtiene el punto de edición que es la ubicación final del atributo de código.
Propiedad pública Extender[String] (Se hereda de CodeAttribute).
Propiedad pública Extender[String] Devuelve el objeto Extender solicitado si está disponible para este atributo de código.
Propiedad pública ExtenderCATID (Se hereda de CodeAttribute).
Propiedad pública ExtenderCATID Obtiene el identificador de categoría (CATID) de extensor para el objeto.
Propiedad pública ExtenderNames (Se hereda de CodeAttribute).
Propiedad pública ExtenderNames Obtiene una lista de nombres de los objetos Extender disponibles para el objeto.
Propiedad pública FullName (Se hereda de CodeAttribute).
Propiedad pública FullName Obtiene la ruta de acceso completa y el nombre de archivo del objeto.
Propiedad pública InfoLocation (Se hereda de CodeAttribute).
Propiedad pública InfoLocation Obtiene el modelo de código.
Propiedad pública IsCodeType (Se hereda de CodeAttribute).
Propiedad pública IsCodeType Indica si se puede obtener un objeto CodeType a partir de este objeto.
Propiedad pública Kind (Se hereda de CodeAttribute).
Propiedad pública Kind Obtiene una enumeración que indica el tipo de atributo.
Propiedad pública Language (Se hereda de CodeAttribute).
Propiedad pública Language Obtiene una constante que identifica el lenguaje de programación utilizado para crear el atributo.
Propiedad pública Name (Se hereda de CodeAttribute).
Propiedad pública Name Establece u obtiene el nombre del atributo de código.
Propiedad pública Parent (Se hereda de CodeAttribute).
Propiedad pública Parent Obtiene el objeto primario inmediato del atributo de código.
Propiedad pública ProjectItem (Se hereda de CodeAttribute).
Propiedad pública ProjectItem Obtiene el ProjectItem asociado al atributo de código.
Propiedad pública StartPoint (Se hereda de CodeAttribute).
Propiedad pública StartPoint Obtiene un objeto TextPoint que define el comienzo del atributo.
Propiedad pública Target Establece u obtiene el destino del atributo de código.
Propiedad pública Value (Se hereda de CodeAttribute).
Propiedad pública Value Establece u obtiene los datos del atributo de código.

Arriba

Métodos

  Nombre Descripción
Método público AddArgument Agrega un argumento al atributo.
Método público Delete() (Se hereda de CodeAttribute).
Método público Delete() Quita todos los atributos del elemento de código.
Método público GetEndPoint(vsCMPart) (Se hereda de CodeAttribute).
Método público GetEndPoint(vsCMPart) Devuelve un objeto TextPoint que marca la posición final del atributo.
Método público GetStartPoint(vsCMPart) (Se hereda de CodeAttribute).
Método público GetStartPoint(vsCMPart) Devuelve un objeto TextPoint que define la posición inicial del atributo.

Arriba

Comentarios

El objeto CodeAttribute2 representa un atributo de metadatos COM asociado a un elemento de código.Se pueden agregar nuevos atributos con el método AddAttribute y eliminar los atributos utilizando el método Delete en el objeto adecuado.Este objeto permite obtener y establecer el valor de un atributo de código.

[!NOTA]

Los valores de los elementos de modelo de código como clases, structs, funciones, atributos, delegados, etc., pueden ser no deterministas una vez realizados determinados tipos de modificaciones; esto significa que no se puede confiar en que sus valores se mantengan siempre igual.Para obtener más información, vea la sección Los valores de elementos de modelo de código pueden cambiar, en Detectar código utilizando el modelo de código (Visual Basic).

Ejemplos

// The following example creates a new namespace and attribute in the current class.
public void CreateClassAndAttrib(DTE2 applicationObject)
{
    // Before running, load or create a project.
    FileCodeModel2 fcm2 = GetFileCodeModel(applicationObject);
    CodeAttribute2 cmAttribute;
    CodeClass2 cmClass;

    if (fcm2 != null)
    {
        CodeNamespace cmNamespace;
        // Try to create a new namespace.
        try
        {
            cmNamespace = fcm2.AddNamespace("CMNamespace", -1);
            // If successful, create the other code elements.
            if (cmNamespace != null)
            {
                cmClass = (CodeClass2)cmNamespace.AddClass("ANewClass", 
                -1, null, null, vsCMAccess.vsCMAccessPrivate);
                cmAttribute = (CodeAttribute2)cmClass.AddAttribute
                ("NewAttribute", "AttributeValue", -1);
            }
            else
            {
                MessageBox.Show("Cannot continue - no filecodemodel 
                available.");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("ERROR: " + ex);
        }
    }
}

public FileCodeModel2 GetFileCodeModel(DTE2 applicationObject)
{
    // Returns the FileCodeModel object of the active 
    // window.
    TextWindow txtWin = 
    (TextWindow)applicationObject.ActiveWindow.Object;
    FileCodeModel2 fcm2;
    if (txtWin != null)
    {
        try
        {
             fcm2 = (FileCodeModel2)txtWin.Parent.
             ProjectItem.FileCodeModel;
             return fcm2;
        }
        catch (Exception ex)
        {
             MessageBox.Show("ERROR: " + ex);
             return null;
        }
    }
    else
        return null;
}

Vea también

Referencia

EnvDTE80 (Espacio de nombres)

Otros recursos

Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización

Detectar código utilizando el modelo de código (Visual Basic)

Detectar código utilizando el modelo de código (Visual C#)