我有一个旨在模拟(不可派生)结构并添加功能(事件)的类
它具有完全相同的公共接口,但有一些用于突变事件的自定义内部代码。
我需要将所述类传递给一个期望我的类模拟的结构的函数,但我需要避免装箱/拆箱,因为它太慢了。
如果模拟结构不受我的控制并且不是从接口派生的,我如何让所述函数接受我的类? 我的班级具有完全相同的公共功能/成员/语法。
具体示例:
XNAGraphicsDevice.DrawUserPrimitives
函数要求一个IVertexType
's 数组。
有时不得不调用 List.ToArray() 似乎是一种浪费,从而制作一个完整的副本,只是因为一个函数特别需要 System.Array 类型的输入。List 具有与 Array 相同的语法和功能。如果函数要接受输入类,则不会有任何问题。