Właściwość CodeClass2.IsDerivedFrom —
Pobiera wartość wskazującą, czy klasa kodu ma inną klasę kodu jej podstawy.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.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: StringWymagany.Typ do wyszukiwania w rodowodu tego typu.
Wartość właściwości
Typ: Boolean
Wartość logiczna, która jest true Jeśli klasa kodu ma inną klasę kodu jej podstawy; false Jeśli inaczej.
Uwagi
[!UWAGA]
Wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej mogą być deterministyczny po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie mogą być powoływane do zawsze pozostają takie same.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
[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);
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Inne zasoby
Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady