C# 4.0 supporta la covarianza e la controvarianza. Ma non capisco chiaramente i vantaggi di questa nuova funzionalità. Puoi spiegarmi (chiaramente) perché ne abbiamo bisogno?
In Java potrei farlo: class MyClass {
private List<? extends MyInterface> list;
public void setList(List<MyImpl> l) { list = l; }
}
... assumendo che (MyImpl implements MyInterface) natu