C# Anonymous Type Kullanımı, salt okunur bir özelliği önceden tanımlamak zorunda kalmadan bir dizi salt okunur özelliğini tek bir nesneye birleştirmek için kullanışlı bir yol sağlar. Anonymous type adı visual studio tarafından oluşturulur ve kaynak kod düzeyinde mevcut değildir. Tek kullanım için bir sınıf oluşturmak yerine C# Anonymous Type Kullanımı daha kullanışlıdır.
Bir tür yada kod başlangıcından önce tanımlanarak kullanılmalıdır. Tanım yapılırken var kelimesi kullanılır. Object mantığında belli bir türü olmadan kullanıldığı için var kelimesi ile birlikte kullanılır.
var v = new { Tutar= 3, Message = “Ekmek” };
şeklinde kullanılır.
C# Anonymous Type Örnek Kullanımı[pastacode manual=”class%20Sqlogren%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20static%20void%20Main(string%5B%5D%20args)%0D%0A%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20AnonymousTypeKullanim(%223%22%2C%20%22Ekmek%22%2C%201)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20Console.ReadLine()%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20%20%20static%20void%20AnonymousTypeKullanim(string%20tutar%2C%20string%20ozellik%2C%20int%20adet)%0D%0A%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20alisveris%20%3D%20new%20%7B%20Tutar%20%3D%20tutar%2C%20Ozellik%3D%20ozellik%2C%20Adet%3D%20adet%7D%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Art%C4%B1k%20%C3%B6zellik%20verilerini%20almak%20i%C3%A7in%20%C5%9Fimdi%20kullanabiliriz%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20Console.WriteLine(%22Tutar%3A%20%7B0%7D%20Ozellik%3A%20%7B1%7D%5Cn%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20alisveris.tutar%2B%20%22%20%22%20%2B%20alisveris.ozellik%2C%20alisveris.adet)%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Anonymous%20Type%20her%20sanal%20%C3%B6zel%20uygulamas%C4%B1%20vard%C4%B1r.%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20Console.WriteLine(%22ToString()%20%3D%3D%20%7B0%7D%22%2C%20alisveris.ToString())%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D” provider=”manual” lang=”php”/] Anonim tipler, genellikle, kaynak dizisindeki her nesneden özelliklerin bir alt kümesini döndürmek için bir sorgu ifadesinin select yan tümcesinde kullanılır. Sorgular hakkında daha fazla bilgi için, bkz: LINQ Sorgu İfadeleri.
Anonim tipler bir veya daha fazla genel salt okunur özellik içerir. Yöntem veya olay gibi diğer sınıf üyeleri geçerli değildir. Bir özelliği başlatmak için kullanılan ifade boş olamaz, anonim bir işlev veya bir işaretçi türü olamaz.
En yaygın senaryo, anonim bir türü başka bir türe ait özelliklerle başlatmaktır. Aşağıdaki örnekte, Ürün adlı bir sınıfın var olduğunu varsayalım. Sınıf Ürünü, ilginizi çekmediğiniz diğer özelliklerle birlikte Renk ve Fiyat özelliklerini içerir. Değişken ürünler, Ürün nesneleri koleksiyonudur. Anonim tip beyanı yeni anahtar kelime ile başlar. Bildiri, Ürün’ten yalnızca iki özellik kullanan yeni bir türü başlatır. Bu, sorguda daha küçük miktarda veri döndürülmesine neden olur.
Anonim türde üye adları belirtmezseniz, derleyici, anonim tip üyelerine, bunları başlatmak için kullanılan özellik ile aynı adı verir. Önceki örnekte gösterildiği gibi, bir ifadeyle başlatılan bir özellik için bir ad belirtmeniz gerekir. Aşağıdaki örnekte, anonim türün özelliklerinin adları
var productQuery =
from prod in products
select new { prod.Color, prod.Price };
foreach (var v in productQuery)
{
Console.WriteLine(“Color={0}, Price={1}”, v.Color, v.Price);
}