CodeClass.IsDerivedFrom[String] Eigenschaft

Definition

Gibt zurück, ob ein- CodeClass Objekt ein anderes Objekt als Basis hat.

public:
 property bool IsDerivedFrom[System::String ^] { bool get(System::String ^ FullName); };
[System.Runtime.InteropServices.DispId(43)]
public bool IsDerivedFrom[string FullName] { [System.Runtime.InteropServices.DispId(43)] get; }
[<System.Runtime.InteropServices.DispId(43)>]
[<get: System.Runtime.InteropServices.DispId(43)>]
member this.IsDerivedFrom(string) : bool
Public ReadOnly Property IsDerivedFrom(FullName As String) As Boolean

Parameter

FullName
String

Erforderlich. Der Typ, nach dem in der Herkunft dieses Typs gesucht werden soll.

Eigenschaftswert

Boolean

Ein boolescher Wert, der angibt true , ob ein CodeClass -Objekt ein anderes Objekt als Basis hat; false andernfalls.

Attribute

Beispiele

 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);  
    }  
}  

Hinweise

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