c#共分散と違反:値タイプの制限
c#の ienumerable
インターフェイスは共分散を示し、ベースタイプ参照への派生型参照を割り当てることができます。 ただし、これは値タイプには適用されません。 ienumerable
にに割り当てる
はコンピレーションエラーになります。
この制限は、ボクシングとボクシングに由来しています。ボクシングは、値タイプを参照型(オブジェクト
)に変換しますが、ボクシングはこれを逆転させます。 ienumerable
の型パラメーター t
は参照タイプでのみ動作します。 ienumerable
の値タイプを ienumerable
に割り当てるには、値タイプについて暗黙的にサポートされていないボクシングが必要です。
。
エリック・リッパートの表現と身元に関する著作は、これらの変換がアイデンティティの保存を必要とすることを強調しています。 値タイプのボクシングプロセスはこの保存を破壊するため、共分散と違反と互換性がありません。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3