我对C#的不安全方面有点新意,所以请原谅我,如果我在这里遗漏了一些明显的东西。
我正在查看使用.NET Reflector的一些代码,以了解Oculus Rift实现到C#的一些实现,但是我遇到了一堆错误,例如:
错误CS0030无法将类型'OVR.ViewScaleDesc'转换为'OVR.ViewScaleDesc *'
错误CS0030无法将类型'OVR.LayerHeader'转换为'OVR.LayerHeader *'
以下方法
public unsafe Result SubmitFrame(
uint frameIndex, ref ViewScaleDesc viewScaleDesc, ref LayerHeader layer)
{
fixed (ViewScaleDesc* descRef = ((ViewScaleDesc*)viewScaleDesc))
{
fixed (LayerHeader* headerRef = ((LayerHeader*)layer))
{
IntPtr layerListPtr = new IntPtr((void*)headerRef);
return (Environment.Is64BitProcess ?
ovrHmd_SubmitFrame64(
base.NativePointer, frameIndex,
new IntPtr((void*)descRef), ref layerListPtr, 1) :
ovrHmd_SubmitFrame32(base.NativePointer, frameIndex,
new IntPtr((void*)descRef),
ref layerListPtr, 1));// get_NativePointer()
}
}
}
反射器是否在这里提供了错误的代码或我做错了什么?
答案 0 :(得分:2)
放弃演员。 &viewScaleDesc
可以使用。