Generics - T som interface
HejJeg sidder med et lille problem i .net 4.0.
Jeg har interfacet:
public interface IP
{
IG foo(IG gen);
}
og en implementation:
public abstract class P<T> : IP where T: IG
{
public abstract T foo(T g);
}
Jeg får fejlen at klassen P ikke implementerer "IG foo(IG gen)" hvilket den jo har ret i, men hvorfor virker det ikke når den implementerer "T foo(T gen)" hvor T er låst til at være IG?
Er der nogen måde at få det til at fungerer uden at lave et interfacet om så den bruger generics (IP<T>)?