Type.BaseType Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerlinin Type doğrudan devraldığı türü alır.
public:
abstract property Type ^ BaseType { Type ^ get(); };
public abstract Type? BaseType { get; }
public abstract Type BaseType { get; }
member this.BaseType : Type
Public MustOverride ReadOnly Property BaseType As Type
Özellik Değeri
Type Geçerlinin Type doğrudan devraldığı veya null geçerlinin Type sınıfı veya arabirimi temsil ettiğiObject.
Uygulamalar
Örnekler
Aşağıdaki örnekte özelliğinin kullanımı gösterilmektedir BaseType .
using System;
class TestType
{
public static void Main()
{
Type t = typeof(int);
Console.WriteLine("{0} inherits from {1}.", t,t.BaseType);
}
}
let t = typeof<int>
printfn $"{t} inherits from {t.BaseType}."
Class TestType
Public Shared Sub Main()
Dim t As Type = GetType(Integer)
Console.WriteLine("{0} inherits from {1}.", t, t.BaseType)
End Sub
End Class
Aşağıdaki örnek, bir derlemede bulunan her sınıfın tam devralma hiyerarşisini listelemek için özyineleme kullanır. Örnek, adlı C bir sınıftan türetilen adlı sınıfı Btanımlar. Bu sınıf da adlı Abir sınıftan türetilir.
using System;
public class Example
{
public static void Main()
{
foreach (var t in typeof(Example).Assembly.GetTypes()) {
Console.WriteLine("{0} derived from: ", t.FullName);
var derived = t;
do {
derived = derived.BaseType;
if (derived != null)
Console.WriteLine(" {0}", derived.FullName);
} while (derived != null);
Console.WriteLine();
}
}
}
public class A {}
public class B : A
{}
public class C : B
{}
// The example displays the following output:
// Example derived from:
// System.Object
//
// A derived from:
// System.Object
//
// B derived from:
// A
// System.Object
//
// C derived from:
// B
// A
// System.Object
type A() = class end
type B() = inherit A()
type C() = inherit B()
module Example =
[<EntryPoint>]
let main _ =
for t in typeof<A>.Assembly.GetTypes() do
printfn $"{t.FullName} derived from: "
let mutable derived = t
while derived <> null do
derived <- derived.BaseType
if derived <> null then
printfn $" {derived.FullName}"
printfn ""
0
// The example displays the following output:
// Example derived from:
// System.Object
//
// A derived from:
// System.Object
//
// B derived from:
// A
// System.Object
//
// C derived from:
// B
// A
// System.Object
Public Class Example
Public Shared Sub Main()
For Each t In GetType(Example).Assembly.GetTypes()
Console.WriteLine("{0} derived from: ", t.FullName)
Dim derived As Type = t
Do
derived = derived.BaseType
If derived IsNot Nothing Then
Console.WriteLine(" {0}", derived.FullName)
End If
Loop While derived IsNot Nothing
Console.WriteLine()
Next
End Sub
End Class
Public Class A
End Class
Public Class B : Inherits A
End Class
Public Class C : Inherits B
End Class
' The example displays the following output:
' Example derived from:
' System.Object
'
' A derived from:
' System.Object
'
' B derived from:
' A
' System.Object
'
' C derived from:
' B
' A
' System.Object
Açıklamalar
Temel tür, geçerli türün doğrudan devraldığı türdür.
Object temel türü olmayan tek türdür, bu nedenle null temel türü Objectolarak döndürülür.
Arabirimler sıfır veya daha fazla temel arabirimden devralır; bu nedenle, nesne bir arabirimi temsil ederse Type bu özellik döndürürnull. Temel arabirimler veya FindInterfacesile GetInterfaces belirlenebilir.
Geçerli Type , oluşturulmuş bir genel türü temsil ederse, temel tür genel bağımsız değişkenleri yansıtır. Örneğin, aşağıdaki bildirimleri göz önünde bulundurun:
class B<U> { }
class C<T> : B<T> { }
type B<'U>() = class end
type C<'T>() = inherit B<'T>()
Class B(Of U)
End Class
Class C(Of T)
Inherits B(Of T)
End Class
(Visual Basic'te) yapı türü C<int>C(Of Integer) için BaseType özelliği döndürürB<int>.
Geçerli Type , genel tür tanımının tür parametresini temsil ederse, BaseType sınıf kısıtlamasını döndürür, yani tür parametresinin devralması gereken sınıfını döndürür. Sınıf kısıtlaması yoksa döndürür BaseTypeSystem.Object.
Bu özellik salt okunurdur.