포인터를 직렬화하거나 비 직렬화 할 수 있습니까?C#에서 포인터를 직렬화 및 비 직렬화하는 방법이 있습니까?
public unsafe class Class001
{
public byte* pointer;
public Class001()
{
var byteArr = new byte[] {12, 54, 20};
fixed(byte* ptr = byteArr)
{
pointer = ptr;
}
}
}
내가 파일에 포인터의 16 진수 값을 저장하고 파일을 읽고이 반사를 사용하여 재구성 할 수 다음과 같이 I 클래스가 있다고 가정?
필자는 파일의 일부 값을 저장하고 나중에 다시 구성한다는 의미로 serialization/deserialization이라는 단어를 사용했지만 표준 직렬화 프로세스 일 필요는 없습니다.
고정 블록을 떠나 자마자 포인터의 값이 배열의 시작을 더 이상 가리킬 수 없습니다. –
"serialize ... pointer"로 "포인터의 값 *"또는 "데이터 * 값 * 포인터의 값"을 의미합니까? –
@Marc Gravell, 나는 포인터의 가치에 대해 이야기하고있었습니다. 어쨌든 Jon Grant & MattDavey가 말한 것처럼 포인터를 비 직렬화하는 것은 중요하지 않습니다. –