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

  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008