“无效的托管/非托管类型组合”是什么意思?我有以下结构:[StructLayout(LayoutKind.Auto,Pack=0)]privateunsafestructBIRDSYSTEMCONFIG{publicbytebySystemStatus;公共字节byError;公共字节byNumDevices;公共字节byNumServers;公共字节byXmtrNum;公共ushortwXtalSpeed;公共字节byChassisNum;公共字节byNumChassisDevices;公共字节byFirstDeviceNum;公共ushortwSoftwareRev;公共固定字节byFlockStatus[127];}基于C++结构:typedefstructtagBIRDSYSTEMCONFIG{BYTEbySystemStatus;以上)BYTEbyError;//由服务器或主鸟标记的错误代码BYTEbyNumDevices;//系统中的设备数量BYTEbyNumServers;//系统中的服务器数量BYTEbyXmtrNum;//发射器编号(参见上面的发射器编号位)WORDwXtalSpeed;//以MHz为单位的晶体速度doubledMeasurementRate;//以每秒帧数为单位的测量速率BYTEbyChassisNum;//底盘编号BYTEbyNumChassisDevices;//此机箱内的设备数量BYTEbyFirstDeviceNum;//此机箱中第一个设备的编号WORDwSoftwareRev;//FlockStatus[BIRD_MAX_VI]对服务器应用程序或主鸟BYTE的软件修订;//flock中所有设备的状态,由鸟编号索引(参见BIRDFRAME定义中的注释)-参见上面的鸟群状态位}BIRDSYSTEMCONFIG;以下函数:[DllImport(@"Bird.dll",CallingConvention=CallingConvention.Cdecl)]privatestaticexternboolbirdGetSystemConfig(intnGroupID,refBIRDSYSTEMCONFIGpsyscfg,boolbGetDriverCopy);基于C++函数:BOOLDLLEXPORTbirdGetSystemConfig(intnGroupID,BIRDSYSTEMCONFIG*psyscfg,BOOLbGetDriverCopy=FALSE);新的鸟类系统配置();birdGetSystemConfig(1,refsysconf,true);但告诉我一个错误:无法编组“参数#2”:无效的托管/非托管类型组合这意味着什么?为什么会这样?我怎样才能克服它欢迎所有建议!事实证明,我需要做的就是将[StructLayout(LayoutKind.Auto,Pack=0)]更改为[StructLayout(LayoutKind.Sequential,Pack=0)]因为问题不仅仅是如何修复它,我'暂时把它放在一边。最好了解有关此错误的更多信息。以上是C#学习教程:Whatdoes"invalidmanaged/unmanagedtypecombination"mean?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
