2012-07-03 28 views
6

listesine göz ben tüm farklı tip T'nin bu arabirimler bir demet var bu yüzdenyineleme arayüzleri

public interface IService<T> 

gibi tipi T nesnelerle bir arabirim var. Bu arabirimleri bir sıralama listesine nasıl ekleyebilirim, listeden yineleyin ve arabirim tarafından kullanılan yaygın bir yöntemi çağırın. Herhangi bir fikir? Alternatif bir yaklaşım var mı?

Bunu bir listeye eklerseniz, T türünü doğru şekilde yazmanın bir yolunu göremiyorum.

cevap

13

yöntem yaygın ise, o muhtemelen o T bağlı değildir, bu yüzden yapmanız gerekir:

interface IService { 
    void TheMethod(); 
} 
interface IService<T> : IService { 
    // other stuff 
} 

sonra List<IService> var ve sadece:

foreach(var svc in list) svc.TheMethod(); 
+0

mükemmel teşekkürler! – fes