Xamarin は、データの実行が許可されていないため JIT を持つことができないプラットフォーム向けに、.NET コードを完全に事前 (AOT) にコンパイルするシステムです。この質問は Xamarin に関するものではなく、そのドキュメントが行う主張に関するものです。ここに記載されています:
汎用仮想メソッドのサポートは制限されています。すべての状況でどのメソッドが呼び出されるかを静的に決定することはできないため、コンパイラはそれらのいくつかを除外する可能性があります。
私は間違っているかもしれませんが、彼らは自分たちのソフトウェアに実装することを選択しただけでなく、静的分析を通じてここで何が可能かについての幅広い声明を暗示しているようです.
Hans Passant が適切に指摘したように、彼らが示した例は彼らが言及している問題を実際には示していないので、私はそれを除外しました。
したがって、これらの明らかに扱いにくい特殊なケースは別として:
反射;
動的に生成されたコード (とにかく、このシナリオでは違法です);
値の型を含む型引数の異常な循環参照。と
外国の議会;
AOT コンパイラが仮想ジェネリック メソッドのケースを処理できない原因は何ですか?