CodeAttribute2.Value Propriété

Définition

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

public:
 property System::String ^ Value { System::String ^ get(); void set(System::String ^ value); };
public:
 property Platform::String ^ Value { Platform::String ^ get(); void set(Platform::String ^ value); };
[System.Runtime.InteropServices.DispId(32)]
public string Value { [System.Runtime.InteropServices.DispId(32)] get; [System.Runtime.InteropServices.DispId(32)] set; }
[<System.Runtime.InteropServices.DispId(32)>]
[<get: System.Runtime.InteropServices.DispId(32)>]
[<set: System.Runtime.InteropServices.DispId(32)>]
member this.Value : string with get, set
Public Property Value As String

Valeur de propriété

String

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

Implémente

Attributs

Exemples

L’exemple suivant crée un nouvel espace de noms et un nouvel 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);  
    }  
}  

Remarques

Si un attribut se trouve dans le formulaire name(someval, 2) , la valeur est someval, 2 .

Notes

Une fois assignés, les valeurs d’argument d’attribut de code ne sont pas conservées en mémoire par Visual Studio , et peuvent donc être valides ou non lorsqu’une mise à jour ultérieure de l’argument d’attribut de code se produit. Autrement dit, un accès aux arguments ultérieurs peut retourner E_FAIL ou une valeur totalement différente. (En revanche, tout ce qui affecte les enfants de l’élément n’a pas ce problème.)

En raison de ce comportement non déterministe, vous devez récupérer la valeur de l’argument avant de le modifier. Par exemple, si vous définissez un argument d’attribut de code dans votre code, tel que myAttrArg.Value = """a first value""" , vous devez le référencer explicitement avant de le mettre à jour, tel que myAttrArg = myAttr.Arguments.Item("first value") , puis affecter la nouvelle valeur, myAttrArg.Value = """a second value""" . Cela permet de s’assurer que l’argument correct est modifié.

En outre, les valeurs des éléments de modèle de code, tels que les classes, les structs, les fonctions, les attributs, les délégués, etc., peuvent être non déterministes après avoir effectué certains genres de modifications, ce qui signifie que leurs valeurs ne peuvent pas être utilisées pour toujours rester identiques. Pour plus d’informations, consultez la section les valeurs d’élément de modèle de code peuvent changer dans la découverte de code à l’aide du modèle de code (Visual Basic).

S’applique à