(派生不可能な) 構造体をエミュレートし、機能 (イベント) を追加するためのクラスがあり
ます。まったく同じパブリック インターフェイスがありますが、ミューテーション イベント用のカスタム内部コードがいくつかあります。
上記のクラスを、クラスがエミュレートする構造体を期待する関数に渡す必要がありますが、非常に遅いため、ボックス化/ボックス化解除を避ける必要があります。
エミュレートされた構造体が私の制御下になく、インターフェイスから派生していない場合、どのように関数にクラスを受け入れるようにさせるのですか? 私のクラスには、まったく同じパブリック関数/メンバー/構文があります。
具体例:
XNAGraphicsDevice.DrawUserPrimitives
関数は の配列を要求しIVertexType
ます。
関数が特に System.Array 型の入力を必要としているという理由だけで、List.ToArray() を呼び出さなければならないため、全体のコピーを作成する必要があるのは、このような無駄のように思えることがあります。リストの構文と機能は配列と同じです。関数が入力クラスを受け入れる場合、問題はありません。