Compartilhar via


Propriedade CodeClass2.IsDerivedFrom

Obtém um valor que indica se a classe do código tem outra classe de código como base.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (em EnvDTE80.dll)

Sintaxe

'Declaração
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 não oferece suporte a propriedades indexadas.

Parâmetros

  • FullName
    Tipo: String

    Necessário. O tipo para pesquisar na linhagem desse tipo.

Valor de propriedade

Tipo: Boolean
Um valor booliano que será se true uma classe de código tem outra classe de código como base; se false de outra forma.

Comentários

Dica

Os valores de código de modelagem elementos como classes, estruturas, funções, atributos, representantes, e assim por diante podem ser não determinísticas depois de fazer determinados tipos as edições do, o que significa que seus valores não podem ser confiáveis em para permanecer sempre os mesmos.Para obter mais informações, veja que os valores do elemento do modelo de código da seção podem ser alteradas em Descobrindo código usando o modelo de código (Visual Basic).

Exemplos

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

Segurança do .NET Framework

Consulte também

Referência

CodeClass2 Interface

Namespace EnvDTE80

Outros recursos

Como compilar e executar os exemplos de código do modelo de objeto Automation

Descobrindo código usando o modelo de código (Visual Basic)

Descobrindo código usando o modelo de código (Visual C#)