Proprietà CodeClass2.IsDerivedFrom (String)
Ottiene un valore che indica se la base della classe di codice è data da un'altra classe di codice.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
ReadOnly Property IsDerivedFrom ( _
FullName As String _
) As Boolean
Get
bool this[
string FullName
] { get; }
property bool IsDerivedFrom[String^ FullName] {
bool get (String^ FullName);
}
abstract IsDerivedFrom : bool
JScript non supporta le proprietà indicizzate.
Parametri
- FullName
Tipo: System.String
Obbligatorio.Il tipo da cercare nella derivazione del tipo corrente.
Valore proprietà
Tipo: System.Boolean
Valore booleano true se la base della classe di codice è data da un'altra classe di codice; in caso contrario, false.
Implementa
CodeClass.IsDerivedFrom[String]
Note
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
[Visual Basic]
Sub IsDerivedFromExample(ByVal dte As DTE2)
' Before running this example, open a code document from a project.
Try
Dim projItem As ProjectItem = dte.ActiveDocument.ProjectItem
Dim cm As CodeModel = projItem.ContainingProject.CodeModel
' Create a new class.
Dim cls1 As CodeClass = cm.AddClass("BaseClass", projItem.Name)
' Derive a class from the newly created class.
Dim bases() As Object = {cls1.FullName}
Dim cls2 As CodeClass = cm.AddClass("DerivedClass", _
projItem.Name, -1, bases)
Dim derived As String
If cls1.IsDerivedFrom(cls2.FullName) Then
derived &= cls1.Name & " is derived from " & _
cls2.Name & vbCrLf
Else
derived &= cls1.Name & " is not derived from " & _
cls2.Name & vbCrLf
End If
If cls2.IsDerivedFrom(cls1.FullName) Then
derived &= cls2.Name & " is derived from " & _
cls1.Name & vbCrLf
Else
derived &= cls2.Name & " is not derived from " & _
cls1.Name & vbCrLf
End If
MsgBox(derived)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
[C#]
public void IsDerivedFromExample(DTE2 dte)
{
// Before running this example, open a code document from
// a project.
try
{
ProjectItem projItem = dte.ActiveDocument.ProjectItem;
CodeModel cm = projItem.ContainingProject.CodeModel;
// Create a new class.
CodeClass cls1 = cm.AddClass("BaseClass", projItem.Name, -1,
null, null, vsCMAccess.vsCMAccessPublic);
// Derive a class from the newly created class.
object[] bases = {cls1.FullName};
CodeClass cls2 = cm.AddClass("DerivedClass", projItem.Name, -1,
bases, null, vsCMAccess.vsCMAccessPublic);
string derived = "";
if (cls1.get_IsDerivedFrom(cls2.FullName))
derived += cls1.Name + " is derived from " +
cls2.Name + "\n";
else
derived += cls1.Name + " is not derived from " +
cls2.Name + "\n";
if (cls2.get_IsDerivedFrom(cls1.FullName))
derived += cls2.Name + " is derived from " +
cls1.Name + "\n";
else
derived += cls2.Name + " is not derived from " +
cls1.Name + "\n";
MessageBox.Show(derived);
}
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 ulteriori 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#)