0

我有一个旨在模拟(不可派生)结构并添加功能(事件)的类
它具有完全相同的公共接口,但有一些用于突变事件的自定义内部代码。
我需要将所述类传递给一个期望我的类模拟的结构的函数,但我需要避免装箱/拆箱,因为它太慢了。

如果模拟结构不受我的控制并且不是从接口派生的,我如何让所述函数接受我的类? 我的班级具有完全相同的公共功能/成员/语法。


具体示例:

XNAGraphicsDevice.DrawUserPrimitives函数要求一个IVertexType's 数组。
有时不得不调用 List.ToArray() 似乎是一种浪费,从而制作一个完整的副本,只是因为一个函数特别需要 System.Array 类型的输入。List 具有与 Array 相同的语法和功能。如果函数要接受输入类,则不会有任何问题。

4

1 回答 1

1

为什么不能实现 IVertexType 并使用数组 IVertexType[]?如果有实现这一点的结构,那么您可以通过包装结构并返回结构值来组合您的实现。

于 2012-09-29T19:40:14.260 回答