Sdílet prostřednictvím


CodeClass2.IsDerivedFrom – vlastnost (String)

Získá hodnotu určující, zda kód třídy má jiný kód třídy jako základny.

Obor názvů:  EnvDTE80
Sestavení:  EnvDTE80 (v EnvDTE80.dll)

Syntaxe

'Deklarace
ReadOnly Property IsDerivedFrom ( _
    FullName As String _
) As Boolean
bool this[
    string FullName
] { get; }
property bool IsDerivedFrom[String^ FullName] {
    bool get (String^ FullName);
}
abstract IsDerivedFrom : bool
Jazyk JScript nepodporuje indexované vlastnosti.

Parametry

  • FullName
    Typ: System.String
    Povinné.Typ hledání původu tohoto typu.

Hodnota vlastnosti

Typ: System.Boolean
Logická hodnota, která je true kód třídy má jiný kód třídy jako základny; falsePokud jinak.

Poznámky

[!POZNÁMKA]

Není deterministický může být po provedení určité typy úprav, což znamená, že jejich hodnoty nelze dovolávat vždy zůstat stejné hodnoty prvků modelu kód jako třídy, struktury, funkce, atributy, delegátů a tak dále.Další informace naleznete v části Změna hodnoty prvku modelu kódu Zjištění kódu pomocí kódu modelu (Visual Basic).

Příklady

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

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

CodeClass2 Rozhraní

IsDerivedFrom – přetížení

EnvDTE80 – obor názvů

Další zdroje

Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu

Zjištění kódu pomocí kódu modelu (Visual Basic)

Zjištění kódu pomocí kódu modelu (Visual C#)