Właściwość CodeClass.IsDerivedFrom —

Zwraca czy CodeClass obiekt ma inny obiekt jako podstawy.

Przestrzeń nazw:  EnvDTE
Zestaw:  EnvDTE (w EnvDTE.dll)

Składnia

'Deklaracja
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
Język JScript nie obsługuje właściwości indeksowanych.

Parametry

  • FullName
    Typ: String

    Wymagane.Typ wyszukiwania rodowodu tego typu.

Wartość właściwości

Typ: Boolean
Wartość logiczna wskazująca true Jeśli CodeClass obiekt ma inny obiekt jako podstawy; falseJeśli inaczej.

Uwagi

[!UWAGA]

Po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie może polegać na zawsze pozostawać taki sam może być nie deterministyczny wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej.Aby uzyskać więcej informacji, zobacz sekcję wartości elementu modelu kod można zmienić w Odnajdowanie kodu za pomocą modelu kodu (Visual Basic).

Przykłady

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

CodeClass Interfejs

Przestrzeń nazw EnvDTE

Inne zasoby

Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady

Odnajdowanie kodu za pomocą modelu kodu (Visual Basic)

Odnajdowanie kodu za pomocą modelu kodu (Visual C#)