以下の例は、通常のモノラル2.10.9に罰金コンパイル:MonoTouchでとサポート変種の汎用インターフェース
namespace covarianttest
{
public interface ITest<out T> : IEnumerable<T>
{
}
}
私はMonoTouchで6.0.8に対してそれをコンパイルしようとすると、しかし、私はこのエラーが表示されます。
エラーCS1961 :共変型のパラメータ 'T'は 'covarianttest.ITest'で不変に有効でなければなりません
したがって、私はMonoTouchが共変/反変一般ジェネリックインターフェースをまだ拡張していないと仮定しますか?もしそうならMonoTouchでこのような状況のための推奨される回避策は何ですか?
MonoTouchは現時点でコ・コントラバリエーションをサポートしておらず、将来はいつか正しいと言いますか? –
はい、ほとんどの.NET/CLR 4.xの機能はまだMonoTouchでは利用できませんが、MTがMono 3.0(および新しい 'mcs'コンパイラ)にリベースされると利用可能になります。 – poupou
ありがとう@poupou! –