怎么做超链接网站,为wordpress创建一个ftp,做自己的网站可以赚钱吗,专门做活动的网站From: http://www.cnblogs.com/Yjianyong/archive/2010/08/05/1792976.html 近段时间在C#是直接调用动态库比较多#xff0c;由于有时又需要使用ActiveX控件#xff0c;往往出现很多的同名的不同命名空间的类#xff0c;结构等#xff0c;对不同实体之类的转换是很烦的一件…From: http://www.cnblogs.com/Yjianyong/archive/2010/08/05/1792976.html 近段时间在C#是直接调用动态库比较多由于有时又需要使用ActiveX控件往往出现很多的同名的不同命名空间的类结构等对不同实体之类的转换是很烦的一件事于是考虑到内存直接拷贝。 下面是同事宋冰实现的代码经他本人同意供大家分享。
public static class StructCopyer{// 相当于序列化与反序列化但是不用借助外部文件//1、struct转换为Byte[]public static Byte[] StructToBytes(Object structure){Int32 size Marshal.SizeOf(structure);IntPtr buffer Marshal.AllocHGlobal(size); // 从进程的非托管内存中分配内存try{Marshal.StructureToPtr(structure, buffer, false); // 将数据从托管对象封送到非托管内存块Byte[] bytes new Byte[size];Marshal.Copy(buffer, bytes, 0, size); // 将数据从非托管内存复制到托管8位无符号整数数组return bytes;}finally{Marshal.FreeHGlobal(buffer); // 释放从非托管内存中分配的内存}}//2、Byte[]转换为structpublic static Object BytesToStruct(Byte[] bytes, Type strcutType){Int32 size Marshal.SizeOf(strcutType);IntPtr buffer Marshal.AllocHGlobal(size);try{Marshal.Copy(bytes, 0, buffer, size); // 将托管的8位无符号整数数组复制到非托管内存指针return Marshal.PtrToStructure(buffer, strcutType); // 将数据从非托管内存块封送到指定类型的托管对象}finally{Marshal.FreeHGlobal(buffer);}}}注此处的类或结构必须是顺序和长度都相同。可以参考 [StructLayout(LayoutKind.Sequential, CharSet CharSet.Ansi, Pack 1)]