Freigeben über


CodeVariable2.InitExpression-Eigenschaft

Ruft ein Objekt ab, das den Initialisierungscode für ein Element definiert, oder legt dieses fest.

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

Syntax

'Declaration
Property InitExpression As Object
    Get
    Set
Object InitExpression { get; set; }
property Object^ InitExpression {
    Object^ get ();
    void set (Object^ value);
}
abstract InitExpression : Object with get, set
function get InitExpression () : Object
function set InitExpression (value : Object)

Eigenschaftswert

Typ: System.Object
Ein Objekt, das den Initialisierungsausdruck für die Codevariable definiert.

Implementiert

CodeVariable.InitExpression

Hinweise

Der Wert muss eine Zeichenfolge oder ein CodeElement für ein Ausdrucksobjekt sein. Wenn hier eine Zeichenfolge festgelegt wird, fügt die Implementierung von InitExpression ggf. erforderliche Syntax ein, z. B. Gleichheitszeichen oder Semikolons, sofern die Variable nicht bereits über einen Initialisierungsausdruck verfügt.

Abhängig von den Sprachen und den Syntax- oder Semantikprüfungen, die für die übergebene Zeichenfolge durchgeführt werden, kann das Festlegen von InitExpression fehlschlagen. Sprachen müssen die Zeichenfolge nicht prüfen. Da diese jedoch immer sprachspezifisch ist, kann das Festlegen dieser Eigenschaft ein nicht definiertes Verhalten zur Folge haben, wenn der Inhalt der Zeichenfolge nicht korrekt formatiert wurde.

Wenn die Eigenschaft auf ein CodeElement festgelegt wird, hängt es von der Sprachimplementierung des Codemodells ab, ob das CodeElement neu erstellt werden muss. Einige Sprachen implementieren möglicherweise das Kopieren von Semantik, wenn Sie ein bereits in einer Quelldatei vorhandenes CodeElement übergeben.

Tipp

Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben. Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

Sub InitExpressionExample(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)

        ' Create and initialize a new member variable.
        Dim byt As CodeVariable = _
            cls.AddVariable("var1", vsCMTypeRef.vsCMTypeRefByte)
        byt.InitExpression = "255"
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void InitExpressionExample(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);

        // Create and initialize a new member variable.
        CodeVariable byt = cls.AddVariable("var1", 
            vsCMTypeRef.vsCMTypeRefByte, -1, 
            vsCMAccess.vsCMAccessPublic, null);
        byt.InitExpression = "255";
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeVariable2 Schnittstelle

InitExpression-Überladung

EnvDTE80-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)