CodeFunction.CanOverride Eigenschaft

Definition

Legt fest oder Ruft ab, ob die Funktion überschrieben werden kann.

public:
 property bool CanOverride { bool get(); void set(bool value); };
public:
 property bool CanOverride { bool get(); void set(bool value); };
[System.Runtime.InteropServices.DispId(50)]
public bool CanOverride { [System.Runtime.InteropServices.DispId(50)] get; [System.Runtime.InteropServices.DispId(50)] set; }
[<System.Runtime.InteropServices.DispId(50)>]
[<get: System.Runtime.InteropServices.DispId(50)>]
[<set: System.Runtime.InteropServices.DispId(50)>]
member this.CanOverride : bool with get, set
Public Property CanOverride As Boolean

Eigenschaftswert

Boolean

Ein boolescher Wert true , der angibt, ob die Funktion überschrieben werden kann, false andernfalls.

Attribute

Beispiele

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

        ' Find the class's overridable methods.  
        Dim ovrrides As String  
        Dim elem As CodeElement  
        For Each elem In cls.Members  
            If elem.Kind = vsCMElement.vsCMElementFunction AndAlso _  
                CType(elem, CodeFunction).CanOverride Then  
                ovrrides &= elem.Name & vbCrLf  
            End If  
        Next  

        MsgBox(cls.Name & " has the following overridable methods:" & _  
            vbCrLf & vbCrLf & ovrrides)  
    Catch ex As Exception  
        MsgBox(ex.Message)  
    End Try  

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

        // Find the class's overridable methods.  
        string overrides = "";  

        foreach (CodeElement elem in cls.Members)  
        {  
            if ((elem.Kind == vsCMElement.vsCMElementFunction) &&   
                ((CodeFunction)elem).CanOverride)  
                overrides += elem.Name + "\r\n";  
        }  

        MessageBox.Show(cls.Name +   
            " has the following overridable methods:" + "\r\n\r\n" +   
            overrides);  
    }  
    catch (Exception ex)  
    {  
        MessageBox.Show(ex.Message);  
    }  
}  

Hinweise

Für Visual Basic wurde die Funktion mit oder deklariert MustOverride Overrideable .

Für Visual c# und Visual C++ wurde die Funktion mit dem- virtual Schlüsselwort deklariert.

Für JScript wurde die Funktion nicht mit den static Schlüsselwörtern oder deklariert, d final . h., die Methoden können implizit überschrieben werden.

Hinweis

Die Werte von Codemodellelementen wie z. B. Klassen, Strukturen, Funktionen, Attributen Delegaten usw. sind nach bestimmten Änderungen unter Umständen nicht deterministisch, d. h. deren Werte bleiben nicht zuverlässig immer gleich. Weitere Informationen finden Sie im Abschnitt Code Modell Element-Werte können sich in ermitteln von Code mithilfe des Code Modells (Visual Basic)ändern.

Gilt für