Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  C# dilinde generics kullanırken, generics' e argüman olarak verdiğimiz tip parametreleri üzerinde çeşitli kısıtlar belirtebiliriz. Kısıt belirtmek kimi yerde zaruridir, çünkü derleyici bu kısıtlar ile bazı şeylerin nasıl işlediğiniz anlamış olur. Örneğin generics için kullandığımız T gibi bir tipi birşeye cast etmek istiyorsak, kısıt ile t tipinin atası olan sınıfı belirtmemiz gerekebilir.

Belirtebileceğimiz kısıt çeşitleri şöyledir:

where T: struct

Burdaki T tipi, herhangi bir 'value type' olabilir. Ancak null değerler kabul etmiyor olmalıdır.

where T : class

Burdaki T tipi, bir referans tipinde olmalıdır. Yani class, interface, delegate veya array tipinde olabilir.

where T : new()

T tipinin parametre almayan ve public olan bir constructor'ı olmalıdır. Bu kısıtlama diğer kısıtlamalar ile beraber kullanılacaksa en son belirtilmelidir.

where T : <base class name>

T tipinin, belirtilen 'base class' veya bundan türeyen bir sınıf olmalıdır.

where T : <interface name>

Burdaki T tipi, belirtilen 'interface' veya bu interface'i gerçekleyen bir sınıf olmalıdır. Kısıt olarak, peş peşe birçok interface belirtilebilir. Belirtilen bu interfacelerin kendisinin de generic olmasıda mümkündür.

where T : U

Bu kısıtta belirtilen T tipi, yine generic olarak belirtilen U tipinden türeyen bir sınıf olmalıdır.

Ayrıca bakınız: generics
kar
14 Ekim 2006 11:50
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
» crontab » marquee » kar

© 2005, Bilişim Kulübü. (1093 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen