SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008
  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007