我有一个非托管函数,它接受一个void指针和一个以指针作为参数的函数指针。在将来的某个未知时间,将使用void指针调用该函数。我代表这样的功能:
public static extern void UseLater(IntPtr passedData, Action<IntPtr> function);
但是,我有一个问题。虽然将结构复制到IntPtr
以调用该函数很简单,但我不确定如何将Action<IntPtr>
包装为一个函数object
,自然选择不需要知道类型的数据。与将指针转换回结构相关的所有方法都需要知道类型。但是,只有Action<object>
需要知道object
到底是什么,并且我希望避免将这些信息放在其他地方。有没有什么方法可以将指针转换为object
并将其传递给委托?