CodeBlanks Logo Icon CodeBlanks

Type sınıfı

C# kursu · İleri seviye · Ders 43/83

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

  1. 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.

  2. typeof çağrısını tamamla

    Type t = ____(string);
    Cevabı göster
    Type t = typeof(string);
  3. İ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

İleri seviye bölümündeki tüm dersler