序列化结果是byte[],怎么传呢?
我只会传string
我只会传string
解决方案 »
- c#读取txt文件中指定行
- wf如何将流程状态保存到oracle数据库里
- 急,送分了哦,,怎么在datagridview 中删除当前的行,注明一下: datagridview 没有使用数据邦定,详细如下:
- 水晶报表的文本对象,如果显示的资料超出了原来的宽度,能否自动换行?
- DataGrid 的读取问题
- 怎么简单建立一个C#下的datagrid自定义控件呢
- 求往IE中嵌入工具条的源代码。
- 如何给datagrid动态增加一列checkbox?并只需两种状态
- 有没有打印控件里面内容的类?
- Windows控件嵌在IE中,如何进行版本控制?不要每次都下载
- XSD事务处理
- 文本框中的值为什么和页面源代码中的值不一致
可以给个简单的代码吗?
{
byte [] temp = SerializationUtility.ToBytes(arg);
length = temp.Length;
IntPtr ptr = Marshal.AllocHGlobal(length);
Marshal.Copy(temp,0,ptr,length);
return ptr;
} public ProcessArgs IntPtrToClass(IntPtr ptr,int length)
{
byte [] temp = new byte[length];
Marshal.Copy(ptr,temp,0,length);
return SerializationUtility.ToObject(temp) as ProcessArgs;
}ProcessArgs 为可序列化的类,SerializationUtility是二进制序列化类,要实现.
SendMessage后调用Marshal.FreeHGlobal释放掉ClassToIntPtr返回的指针
lpData声明成IntPtr.
传递任意可序列化类
{
byte [] temp = SerializationUtility.ToBytes(arg);
length = temp.Length;
IntPtr ptr = Marshal.AllocHGlobal(length);
Marshal.Copy(temp,0,ptr,length);
return ptr;
} public ProcessArgs IntPtrToClass(IntPtr ptr,int length)
{
byte [] temp = new byte[length];
Marshal.Copy(ptr,temp,0,length);
return SerializationUtility.ToObject(temp) as ProcessArgs;
}
Length是什么长度啊?
谢谢
数组类型我不会传。
命名空间是什么?我怎么找不到Using