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

  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • Drakinen

    Drakinen

    1 EYLÜL 2008
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011