CodeClass.IsDerivedFrom[String] Свойство

Определение

Возвращает информацию о том, имеет ли объект CodeClass другой объект в качестве базы.

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

Параметры

FullName
String

Обязательный. Тип, поиск которого выполняется в наследовании данного типа.

Значение свойства

Boolean

Логическое значение, указывающее, true имеет ли объект кодекласс другой объект в качестве базового; false в противном случае —.

Атрибуты

Примеры

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

Комментарии

Примечание

Значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и другие, после внесения некоторых изменений могут оказаться недетерминированными, другими словами, нельзя рассчитывать, что их значения будут всегда оставаться одинаковыми. Дополнительные сведения см. в разделе значения элементов модели кода могут изменяться при обнаружении кода с помощью модели кода (Visual Basic).

Применяется к