Proprietà CodeFunction.CanOverride
Ottiene o imposta un valore che indica se la funzione è sottoponibile a override.
Spazio dei nomi: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Sintassi
'Dichiarazione
Property CanOverride As Boolean
bool CanOverride { get; set; }
property bool CanOverride {
bool get ();
void set (bool value);
}
abstract CanOverride : bool with get, set
function get CanOverride () : boolean
function set CanOverride (value : boolean)
Valore proprietà
Tipo: Boolean
Valore booleano true se la funzione può essere sottoposta a override; false in caso contrario.
Note
In Visual Basic, la funzione è stata dichiarata con MustOverride o Overrideable.
In Visual C# e Visual C++, la funzione è stata dichiarata con la parola chiave virtual.
In JScript la funzione non viene dichiarata con le parole chiave static o final; pertanto i metodi possono essere sottoposti a override in modo implicito.
Nota
I valori degli elementi del modello di codice, quali classi, strutture, funzioni, attributi, delegati e così via, possono non essere deterministici dopo alcuni tipi di modifiche. Ciò significa che non si può fare affidamento sulla stabilità di tali valori.Per ulteriori informazioni, vedere la sezione Possibile modifica dei valori degli elementi del modello di codice in Individuazione di codice mediante il modello di codice (Visual Basic).
Esempi
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);
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
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#)