Sdílet prostřednictvím


CodeAttribute2.Value – vlastnost

Nastaví nebo kód atributu získává data.

Obor názvů:  EnvDTE80
Sestavení:  EnvDTE80 (v EnvDTE80.dll)

Syntaxe

'Deklarace
Property Value As String
    Get
    Set
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)

Hodnota vlastnosti

Typ: System.String
Řetězcovou hodnotu představující data pro kód atributu.

Implementuje

CodeAttribute.Value

Poznámky

Pokud je atribut ve formě name(someval, 2), hodnota je someval, 2.

Poznámka

Kód hodnoty argumentu atributu, po přiřazen, nejsou zachovány v paměti pomocí Visual Studio, tedy může nebo nemusí být platné dojde budoucí aktualizace argumentu atributu kód. Další argument access může vrátit, E_FAIL nebo zcela jinou hodnotu. (Vše, co děti prvku ovlivňuje však nemá problém.)

V důsledku tohoto chování deterministický měly načíst hodnoty v argumentu před jeho změna. Pokud nastavíte argument atributu kód v kódu, jako například myAttrArg.Value = """a first value""", pak je měly explicitně odkazovat jej před aktualizací, například myAttrArg = myAttr.Arguments.Item("first value")a potom přiřadit novou hodnotu myAttrArg.Value = """a second value""". Tím předejdete změní správný argument.

Hodnoty prvků modelu kód jako třídy, struktury, funkce, atributy, delegátů a tak dále mohou být také-deterministický po provedení určité typy úprav, což znamená, že jejich hodnoty nelze dovolávat vždy zůstává stejné. Další informace naleznete v části Změna hodnoty prvku modelu kódu Discovering Code by Using the Code Model (Visual Basic).

Příklady

Následující příklad vytvoří nový obor názvů a atribut aktuální třídy a jsou uvedeny některé vlastnosti atributu.

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

Zabezpečení rozhraní .NET Framework

Viz také

Odkaz

CodeAttribute2 Rozhraní

Value – přetížení

EnvDTE80 – obor názvů

Další zdroje

How to: Compile and Run the Automation Object Model Code Examples

Discovering Code by Using the Code Model (Visual Basic)

Discovering Code by Using the Code Model (Visual C#)