CodeClass2.IsDerivedFrom[String] Property   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a value indicating whether the code class has another code class as its base.
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) : boolPublic ReadOnly Property IsDerivedFrom(FullName As String) As BooleanParameters
- FullName
- String
Required. The type to search for in the lineage of this type.
Property Value
A boolean value that is true if a code class has another code class as its base; false if otherwise.
Implements
- Attributes
Examples
[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);  
    }  
}  
Remarks
Note
The values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic).