.net-core - 结构字段编组在 Linux 上失败
问题描述
我正在使用以下结构通过 PInvoke 进行数据封送处理
[StructLayout(LayoutKind.Sequential)]
struct Data
{
int id;
IntPtr state;
object obj;
}
在 Windows 上一切正常,但在 Linux 上出现错误:
无法封送“数据”类型的字段“obj”:托管/非托管类型组合无效(不支持与 COM 接口指针之间的封送处理)。
为什么?是否可以禁用特定字段的编组?
解决方案
object obj;
属性无效
你可以试试IntPtr obj;
的实际类型是obj
什么?
推荐阅读
- android - kotlin recycleradapter bindviewholder
- c# - 如何从另一个名为 ControlPanel 的表单更新 Main.cs 中的 timer.interal
- google-chrome-extension - 未经许可清除 Chrome 扩展代理设置
- tomcat8 - WAR 未在 Tomcat 上部署 [NameNotFoundException]
- python - 从向量中为一堆对象赋值
- mongodb - MongoDB中具有优先级的初选
- ios - Swift 4 / Firebase - 从不同数组中的实时数据库读取和存储双嵌套项
- sql - 按不同列中的特定值计数
- svg - 在线性渐变 X/Y 中包含笔画宽度
- html - flexbox垂直居中问题