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

  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • superflyy88

    superflyy88

    8 ŞUBAT 2009