Proprietà CodeAttribute2.Value

Imposta o ottiene i dati per l'attributo di codice.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

'Dichiarazione
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)

Valore proprietà

Tipo: System.String
un valore stringa che rappresenta i dati per l'attributo di codice.

Note

Se un attributo è nel form name(someval, 2), quindi il valore è someval, 2.

[!NOTA]

I valori degli argomenti dell'attributo del codice, dopo essere stato assegnato, non vengono mantenuti in memoria da Visual Studiopertanto, può essere valido quando un aggiornamento futuro l'argomento dell'attributo del codice verifica.Ovvero un accesso successivo dell'argomento può restituire E_FAIL o un valore completamente diverso.(Qualcosa che incida sugli elementi figlio dell'elemento, tuttavia, non ha questo problema.)

A causa di tale comportamento non deterministico, è necessario recuperare il valore dell'argomento prima di modificarlo.Ad esempio, se si imposta un argomento dell'attributo del codice nel codice, ad esempio myAttrArg.Value = """a first value"""quindi, è opportuno definire in modo esplicito farvi riferimento prima di aggiornamento, ad esempio myAttrArg = myAttr.Arguments.Item("first value")quindi assegnare il nuovo valore, myAttrArg.Value = """a second value""".Utilizzando questo assicura che l'argomento corretto viene modificato.

Inoltre, i valori degli elementi del modello di codice come classi, strutture, le funzioni, gli attributi, delegati, e così via possono non essere deterministici dopo l'inserimento di determinati tipi di modifiche, pertanto i relativi valori non possono essere basati su per rimanere sempre gli stessi.Per ulteriori informazioni, vedere i valori degli elementi del modello di codice della sezione può cambiare in Individuazione di codice mediante il modello di codice (Visual Basic).

Esempi

Nell'esempio seguente viene creato un nuovo spazio dei nomi e l'attributo nella classe corrente e vengono elencate alcune delle proprietà dell'attributo.

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

CodeAttribute2 Interfaccia

Overload Value

Spazio dei nomi EnvDTE80

Altre risorse

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione

Individuazione di codice mediante il modello di codice (Visual Basic)

Individuazione di codice mediante il modello di codice (Visual C#)