Compartilhar via


Propriedade CodeAttribute2.Value

Define ou obtém os dados para o atributo de código.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (em EnvDTE80.dll)

Sintaxe

'Declaração
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)

Valor de propriedade

Tipo: System.String
Um valor de seqüência de caracteres que representa os dados para o atributo de código.

Comentários

Se um atributo está no formato name(someval, 2), e em seguida, o valor é someval, 2.

ObservaçãoObservação

Valores de argumento de atributo de código, após ter sido atribuído, não são mantidos na memória por Visual Studioe assim, pode ou não ser válida quando ocorre uma futura atualização para o argumento de atributo de código.Ou seja, o acesso de um argumento subseqüente pode retornar E_FAIL ou um valor totalmente diferente.(Qualquer coisa que afete os filhos do elemento, no entanto, não tem esse problema.)

Devido esse comportamento não-determinístico, você deve recuperar o valor do argumento antes a alterá-lo.Por exemplo, se você definir um argumento de atributo de código no seu código, como myAttrArg.Value = """a first value""", e em seguida, você deve referenciá-la explicitamente antes de atualizá-lo, como myAttrArg = myAttr.Arguments.Item("first value")e, em seguida, atribua o novo valor, myAttrArg.Value = """a second value""".Isso garante que o argumento correto é alterado.

Além disso, os valores de elementos de modelo de código, como classes, estruturas, funções, atributos, delegados e assim por diante podem ser não-determinísticos depois de fazer determinados tipos de edições, o que significa que seus valores não confie sempre permanecer o mesmo.Para obter mais informações, consulte a seção valores de elemento de modelo de código podem ser alterada de Descobrindo o código usando o modelo de código (Visual Basic).

Exemplos

O exemplo a seguir cria um novo espaço para nome e o atributo na classe atual e lista algumas das propriedades do atributo.

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

Segurança do .NET Framework

Consulte também

Referência

CodeAttribute2 Interface

Sobrecargas Value

Namespace EnvDTE80

Outros recursos

Como: compilar e executar os exemplos de código de modelo de objeto de automação

Descobrindo o código usando o modelo de código (Visual Basic)

Descobrindo o código usando o modelo de código (Visual C#)