有没有办法在C#中序列化和反序列化指针?

时间:2011-08-02 11:58:41

标签: c# .net serialization pointers

是否可以序列化或反序列化任何指针?假设我有一个类如下

  public unsafe class Class001
  {
        public byte* pointer;

        public Class001()
        {

            var byteArr = new byte[] {12, 54, 20};

            fixed(byte* ptr = byteArr)
            {
                pointer = ptr;
            }
         }
   }

我可以将指针的十六进制值存储在一个文件中,并通过读取文件使用Reflection重建它吗?

我使用序列化/反序列化这个词来表示在文件中保存一些值并在以后重新构建它,它不需要是任何标准的序列化过程。

1 个答案:

答案 0 :(得分:7)

绝对不是!指针是对特定内存位置的引用。您可能确实序列化了该特定内存地址的十六进制值 - 但是当您对其进行反序列化时,该内存地址肯定会包含完全不同的内容。

相关问题