我正在尝试通过以下代码片段在 SlimDX 中使用 StateBlock 来保存和恢复状态:
StateBlockMask mask = new StateBlockMask(null) { RasterizerState = true };
var sb = new StateBlock(device.Device, mask);
StateBlockMask 和 StateBlock 都是类。这给了我一个编译错误:
'.ctor' is not supported by the language
从 SO 上的其他一些帖子中阅读,这似乎是一个与使用错误参数调用托管代码有关的问题。在 SlimDX 的源代码中,我发现:
StateBlock::StateBlock(SlimDX::Direct3D10::Device^ device, StateBlockMask mask)
我完全没有使用 C++/CLI 的经验,所以我想知道这里是否有问题(例如缺少或额外的 ^),还是应该将错误集中在我这边?
(注意:此问题已交叉发布到 gamedev.net,未来有相同问题的用户可能还想查看那里给出的答案)