8 Temmuz 2009, ÇARŞAMBA
Nasıl bir C arayüzü kullanabilir miyim# genel tür kısıtlaması?
Bir şekilde aşağıdaki işlevi bildirimi almak için var mı?
public bool Foo<T>() where T : interface;
yani. T arabirimi türü () ** 4 ve struct
benzer nerede.
Şu an için yaşadım:
public bool Foo<T>() where T : IBase;
İBase tüm özel arayüzler tarafından devralınan boş bir arabirim olarak tanımlanır... ideal Değil, ama çalışması gerekir... Neden genel bir tür bir arabirim olması gerektiğini tanımlayabilir mi?
Asıl önemli olan, istediğim bu çünkü Foo
yapıyor yansıması nerede ihtiyacı olan bir arabirim tipi... geçmek gibi bir normal parametre ve gerekli kontrol işlevi kendisi, ama bu sanki çok daha typesafe (ve sanırım biraz daha fazla ölçülebilir, çünkü çekler yapılan derleme).
CEVAP
3 Mayıs 2011, Salı
Bu biraz geç oldu ama ilgilenenler için bir çalışma zamanı denetimi kullanabilirsiniz biliyorum.
typeof(T).IsInterface
Bunu Paylaş:
Nasıl bir Android projesinde dış Kavan...
Nasıl Android Geliştirme için MS Visua...
Nasıl Python sistem hostname almak içi...
Bir yığın izleme, nedir ve nasıl uygul...
Nasıl benim iPhone App NSError kullana...