CodeClass.IsDerivedFrom, propriété
Retourne une valeur indiquant si un objet CodeClass possède un autre objet comme base.
Espace de noms : EnvDTE
Assembly : EnvDTE (dans EnvDTE.dll)
Syntaxe
'Déclaration
ReadOnly Property IsDerivedFrom ( _
FullName As String _
) As Boolean
bool this[
string FullName
] { get; }
property bool IsDerivedFrom[String^ FullName] {
bool get (String^ FullName);
}
abstract IsDerivedFrom :
FullName:string -> bool with get
JScript ne prend pas en charge les propriétés indexées.
Paramètres
FullName
Type : StringObligatoire. Type à rechercher dans l'enregistrement en ligne de ce type.
Valeur de propriété
Type : Boolean
Valeur booléenne indiquant true si un objet CodeClass possède un autre objet comme base et false dans le cas contraire.
Notes
Notes
Les valeurs d'éléments de modèle de code, tels que des classes, des structures, des fonctions, des attributs, des délégués, etc., peuvent être non déterminables après certains types de modifications, ce qui signifie qu'il n'est pas certain que leurs valeurs resteront inchangées.Pour plus d'informations, consultez la section Les valeurs d'élément de modèle de code peuvent être modifiées de la rubrique Découverte de code à l'aide du modèle de code (Visual Basic).
Exemples
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
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.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.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);
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, voir Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Autres ressources
Comment : compiler et exécuter les exemples de code du modèle objet Automation
Découverte de code à l'aide du modèle de code (Visual Basic)