我有一个 C 头文件:
typedef struct CallbackData
{
Int 32 linkType;
string strUrl;
} CallbackData
我在 C# 中有一个函数:
private Int32 CallbackFunction(IntPtr intPtr, Int32 callbackData, Int32 commandInfo, object callbackObject)
{
if (callbackObject.GetType() == typeof(CallbackData))
{
var callbackData = (CallbackData) callbackObject;
callbackData.strUrl = "Something";
return 0;
}
if (callbackData == 283)
{
return 0;
}
Console.WriteLine(callbackData);
return 0;
}
我想将CallbackData
结构导入 C#,然后检查callbackObject
是否传递给CallbackFunction
isCallbackData
类型。然后我想设置callbackObject
.
我在另一个 C# 文件中创建了一个这样的结构:
[StructLayout(LayoutKind.Sequential)]
public struct CallbackData
{
Int32 linkType;
string strUrl;
}
VS 说“object
不包含 for 的定义,并且找不到接受第一个类型参数的strUrl
扩展方法(您是否缺少 using 指令或程序集引用?)”。如果它是类型,我如何编辑对象的 strUrl ?strUrl
object
CallbackData
编辑:改变了我投射传入参数的方式。