Partager via


CodeAttribute2.Value, propriété

Obtient ou définit les données de l'attribut de code.

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

Syntaxe

'Déclaration
Property Value As String
string Value { get; set; }
property String^ Value {
    String^ get ();
    void set (String^ value);
}
abstract Value : string with get, set
function get Value () : String 
function set Value (value : String)

Valeur de propriété

Type : String
Valeur de chaîne qui représente les données pour l'attribut de code.

Notes

Si un attribut possède le format name(someval, 2), la valeur est someval, 2.

Notes

Une fois assignées, les valeurs d'arguments d'attributs de code ne sont pas conservées en mémoire par Visual Studio, et peuvent donc être valides ou non lors d'une future mise à jour de l'argument d'attribut de code.Cela signifie qu'un accès ultérieur à un argument peut retourner E_FAIL ou une valeur totalement différente. (Cependant, tout ce qui affecte les enfants de l'élément ne présente pas ce problème.)

Étant donné ce comportement non déterminable, vous devez récupérer la valeur de l'argument avant de la modifier.Par exemple, si vous définissez un argument d'attribut de code, tel que myAttrArg.Value = """a first value""", vous devez le référencer explicitement avant de le mettre à jour (myAttrArg = myAttr.Arguments.Item("first value")), puis assigner la nouvelle valeur (myAttrArg.Value = """a second value""").Cette opération garantit que l'argument correct est modifié.

En outre, 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

L'exemple suivant crée un espace de noms et un attribut dans la classe actuelle, et répertorie certaines des propriétés de l'attribut.

Sub ValueExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a class definition.
    Try
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim cls As CodeClass = CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementClass), CodeClass)

        ' Enumerate the CodeClass's attributes.
        Dim attrs As String = ""
        Dim attr As CodeAttribute
        For Each attr In cls.Attributes
            attrs &= attr.Name & "(" & attr.Value & ")" & vbCrLf
        Next

        MsgBox(cls.Name & " has the following attributes:" & _
            vbCrLf & vbCrLf & attrs)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void ValueExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a class definition.
    try
    {
        // Retrieve the CodeClass at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeClass cls = (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);

        // Enumerate the CodeClass's attributes.
        string attrs = "";
        foreach (CodeAttribute attr in cls.Attributes)
        {
            attrs += attr.Name + "(" + attr.Value + ")" + 
                Environment.NewLine;
        }

        MessageBox.Show(cls.Name + " has the following attributes:" + 
            Environment.NewLine + Environment.NewLine + attrs);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Sécurité .NET Framework

Voir aussi

Référence

CodeAttribute2 Interface

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#)