İsimsiz Sınıflar / Anonymous Classes
C# dilinde Anonymous Classes (Anonim Sınıflar), önceden açık bir sınıf tanımı (class definition) yapmadan, salt okunur (read-only) nesneler oluşturmanıza olanak tanıyan bir özelliktir. Genellikle geçici veri yapıları oluşturmak veya LINQ sorgularından dönen sonuçları paketlemek için kullanılırlar.
Temel Özellikler
var anahtar kelimesi: Anonim sınıfların isimleri derleyici tarafından otomatik oluşturulur, bu yüzden bu nesneleri tanımlarken mutlaka var kullanmalısınız.
Salt Okunur (Read-Only): Özelliklerin (properties) değerleri sadece oluşturulma anında atanabilir. Sonradan değiştirilemezler.
Tip Güvenliği: İsimsiz olsalar da strongly-typed (kesin tipli) yapılardır. Derleyici, tipleri atanan değerlerden çıkarır.
Basit bir anonim sınıf oluşturma ve kullanma şekli şöyledir:
using System;
public class Program
{
public static void Main()
{
// Anonim bir nesne oluşturma
var ogrenci = new {
Id = 1,
Ad = "Deniz",
Bolum = "Yazılım Mühendisliği"
};
Console.WriteLine($"ID: {ogrenci.Id}");
Console.WriteLine($"İsim: {ogrenci.Ad}");
// ogrenci.Ad = "Güneş"; // HATA! Özellikler salt okunurdur.
}
}
Örnek 2
var araba = new {
Marka = "Tesla",
Model = "Model 3",
Yil = 2024
};
Console.WriteLine($"Araba: {araba.Marka}, Yıl: {araba.Yil}");