Type sınıfı
typeof ve GetType ile Type nesnesi almayı öğrenirsin.
Type sınıfı
Type sınıfı, çalışma zamanında bir tip hakkında bilgi tutar. İki temel yolla elde edilir: typeof(MyClass) derleme zamanında bilinen tipler için, obj.GetType() ise bir örneğin çalışma zamanı türü için.
typeof bir operatördür ve tip adını alır. GetType bir metottur ve nesne üzerinde çağrılır. İkisi de Type döndürür. Bu nesne üzerinde metot, özellik, alan ve oluşturucular listelenebilir; reflection buradan başlar.
typeof vs GetType
typeof(T) derleme zamanında çalışır; T sabit bir tip adı olmalıdır. obj.GetType() ise çalışma zamanında herhangi bir nesnenin gerçek türünü döndürür — sanal bir metottur.
Bir temel sınıf referansı türetilmiş bir örneği tuttuğunda, GetType türetilmiş türü döndürür. Örn. object o = "metin"; için o.GetType() String verir. typeof(object) ise her zaman Object verir.
Uygulama Bir tamsayının tür adını yazdır
int x = 42; tanımla. Type t = x.GetType(); ile türünü al. t.Name değerini Console.WriteLine ile yazdır.
Örnek çözümü göster
Type t = x.GetType(); ile türü al. Console.WriteLine(t.Name); ile adını yazdır.
Örnek çözüm:
using System;
class Program
{
static void Main()
{
int x = 42;
Type t = x.GetType();
Console.WriteLine(t.Name);
}
}
Kendini test et
-
obj.GetType() ne döndürür?
- Sınıf adını string olarak
- Objenin çalışma zamanı türünü (Type)
- Objenin alan adlarını
- Objenin bellek adresini
Cevabı göster
Objenin çalışma zamanı türünü (Type) — Doğru. GetType, objenin çalışma zamanı türünü Type olarak döndürür.
-
typeof çağrısını tamamla
Type t = ____(string);Cevabı göster
Type t = typeof(string); -
İfadeyi davranışına eşle
- typeof(T)
- Derleme zamanında
- obj.GetType()
- Çalışma zamanında
- typeof(int)
- İlkel tür için
- t.FullName
- Tam adı verir