Şu an C# 'da arayüzler ve delegeler üzerinde genel Covariance ve Contravariance var, şimdi bir Type
verilirse merak ettim, onun genel argümanlarının kovaryans/kontravaryansını anlayabilirsiniz. Belirli bir türdeki tüm yöntemlere bakacak ve dönüş türlerinin ve argümanlarının genel argümanlardaki türlerle eşleşip eşleşmediğini görmek için kendi uygulamamı yazmaya çalıştım. o kontravaryant olması gerektiği gibiC# 4.0'da bir Arabirim/Temsilcinin Varyansını belirlemenin bir yolu var mı?
public interface IFoo<T>
{
void DoSomething(T item);
}
benim mantığı kullanarak, bu GÖRÜNÜYOR, ama olmadı çünkü aslında belirtmek: Sorun olsa bile bu böyledir
public interface IFoo<in T>
{
void DoSomething(T item);
}
(parametresinde) Aslında kontravaryant değil. Bu benim soruma yol açar: Jenerik parametrelerin varyansını belirlemenin bir yolu var mı?
Neden buna ihtiyacınız var? –
@ Mitch Bunu anladığımda size haber vereceğim :) Sadece meraktan dolayı soruyordum ... – BFree