调用C++/CLI构造我想保存和使用在SlimDX一个StateBlock通过下面的代码片段恢复状态:错误从C#
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可言,所以我想知道,如果有什么错在这里(如丢失或额外^),或者我应该集中精力我身边的缺点?
(注:This question has been cross-posted to gamedev.net,未来的用户提供同样的问题可能还需要检查给出的答案有)
StateBlockMask是一个类(将信息添加到原始帖子中)。不幸的是,我不能在我的项目当前状态下重新编译C++代码(不允许)。 – erik 2011-03-01 14:08:10
@erik - 那么你已经完成了这个项目,如果不修复这个bug,你就不能使用这个C++/CLI代码。 – 2011-03-01 15:07:15
您可以编写自己的C++/CLI包装类,该类包含StateBlockMask ^然后在该包装类中调用StateBlock构造函数。 – 2011-03-02 01:55:46