Das folgende Beispiel in regelmäßigen Mono fein kompiliert 2.10.9:Monotouch und Unterstützung Variante generische Schnittstellen
namespace covarianttest
{
public interface ITest<out T> : IEnumerable<T>
{
}
}
Allerdings, wenn ich kompilieren versuchen, es gegen Monotouch 6.0.8 erhalte ich diesen Fehler:
Fehler CS1961 : Der kovariante Typparameter 'T' muss für 'covarianttest.ITest' immer gültig sein.
Also soll ich annehmen, dass MonoTouch die Erweiterung kovarianter/kontravarianter generischer Schnittstellen noch nicht unterstützt? Wenn ja, was ist die empfohlene Problemumgehung für diese Situation in MonoTouch?
Sie sagen also, dass MonoTouch keine Co/Contra-Varianz zu diesem Zeitpunkt unterstützt, und es möglicherweise irgendwann in der Zukunft korrigieren? –
Ja, die meisten .NET/CLR 4.x-Funktionen sind in MonoTouch ** noch nicht ** verfügbar, aber sie werden verfügbar, sobald MT auf Mono 3.0 (und dem neuen 'mcs'-Compiler) rebasiert wird. – poupou
Danke @poupou! –