是否可以序列化或反序列化任何指针?假设我有一个类如下
public unsafe class Class001
{
public byte* pointer;
public Class001()
{
var byteArr = new byte[] {12, 54, 20};
fixed(byte* ptr = byteArr)
{
pointer = ptr;
}
}
}
我可以将指针的十六进制值存储在一个文件中,并通过读取文件使用Reflection重建它吗?
我使用序列化/反序列化这个词来表示在文件中保存一些值并在以后重新构建它,它不需要是任何标准的序列化过程。
答案 0 :(得分:7)
绝对不是!指针是对特定内存位置的引用。您可能确实序列化了该特定内存地址的十六进制值 - 但是当您对其进行反序列化时,该内存地址肯定会包含完全不同的内容。