Le seguito esempio compila bene nel regolare Mono 2.10.9:MonoTouch e varianti supportare interfacce generiche
namespace covarianttest
{
public interface ITest<out T> : IEnumerable<T>
{
}
}
Tuttavia quando tento compilare contro MonoTouch 6.0.8 I ricevono questo errore: CS1961
errore : Il parametro covariante di tipo "T" deve essere invariantly valido su "covarianttest.ITest"
Quindi suppongo che MonoTouch non supporti ancora l'estensione di interfacce generiche covarianti/controvarianti? In tal caso, qual è la soluzione consigliata per questa situazione in MonoTouch?
Quindi stai dicendo che MonoTouch non supporta Co/Contra-varianza in questo momento, e in futuro potrebbe essere corretto? –
Sì, la maggior parte delle funzioni .NET/CLR 4.x non sono ** ancora ** disponibili in MonoTouch, ma saranno disponibili una volta che MT è stato ridefinito su Mono 3.0 (e il nuovo compilatore 'mcs'). – poupou
Grazie a @poupou! –