Partager via


CodeAttribute2, interface

Définit un attribut pour un élément de code.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
<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

Le type CodeAttribute2 expose les membres suivants.

Propriétés

  Nom Description
Propriété publique Arguments Obtient une collection d'objets CodeElement qui contiennent les objets CodeAttributeArgument associés à cet attribut.
Propriété publique Children Obtient une collection d'objets contenus dans cette construction de code.
Propriété publique Collection Obtient une collection d'objets CodeAttribute2.
Propriété publique DTE Obtient l'objet d'extensibilité de niveau supérieur.
Propriété publique EndPoint Obtient le point d'édition qui représente l'emplacement de fin de l'attribut de code.
Propriété publique Extender Retourne l'objet Extender demandé s'il est disponible pour cet attribut de code.
Propriété publique ExtenderCATID Obtient l'identificateur de catégorie (CATID) d'extendeur de l'objet.
Propriété publique ExtenderNames Obtient la liste des noms d'extendeurs disponibles pour l'objet.
Propriété publique FullName Obtient le chemin d'accès complet et le nom du fichier de l'objet.
Propriété publique InfoLocation Obtient le modèle de code.
Propriété publique IsCodeType Obtient une valeur indiquant si un objet CodeType peut être obtenu à partir de cet objet.
Propriété publique Kind Obtient une énumération indiquant le type d'attribut.
Propriété publique Language Obtient une constante qui identifie le langage de programmation utilisé pour créer l'attribut.
Propriété publique Name Obtient ou définit le nom de l'attribut de code.
Propriété publique Parent Obtient l'objet parent immédiat de l'attribut de code.
Propriété publique ProjectItem Obtient le ProjectItem associé à l'attribut de code.
Propriété publique StartPoint Obtient un TextPoint qui définit le début de l'attribut.
Propriété publique Target Obtient ou définit la cible de l'attribut de code.
Propriété publique Value Obtient ou définit les données de l'attribut de code.

Début

Méthodes

  Nom Description
Méthode publique AddArgument Ajoute un argument à l'attribut.
Méthode publique Delete Supprime tous les attributs dans l'élément de code.
Méthode publique GetEndPoint Retourne un objet TextPoint qui marque la position de fin de l'attribut.
Méthode publique GetStartPoint Retourne un objet TextPoint qui définit la position de début de l'attribut.

Début

Notes

L'objet CodeAttribute2 représente un attribut de métadonnées COM unique associé à un élément de code. Vous pouvez ajouter de nouveaux attributs avec la méthode AddAttribute et supprimer les attributs en utilisant la méthode Delete sur l'objet approprié. Vous pouvez obtenir et définir la valeur d'un attribut de code à l'aide de cet objet.

Notes

Les valeurs d'éléments de modèle de code, tels que des classes, des structures, des fonctions, des attributs, des délégués, etc., peuvent être non déterminables après certains types de modifications, ce qui signifie qu'il n'est pas certain que leurs valeurs resteront inchangées.Pour plus d'informations, consultez la section Les valeurs d'élément de modèle de code peuvent être modifiées de la rubrique Découverte de code à l'aide du modèle de code (Visual Basic).

Exemples

// 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;
}

Voir aussi

Référence

EnvDTE80, espace de noms

Autres ressources

Comment : compiler et exécuter les exemples de code du modèle objet Automation

Découverte de code à l'aide du modèle de code (Visual Basic)

Découverte de code à l'aide du modèle de code (Visual C#)