이진 파일의 내용을 읽고 DataGrid 뷰에 표시하는 C# 응용 프로그램을 개발 중입니다. 데이터의 형식이바이트 배열 변환에 대한 동적 구조
[StructLayout(LayoutKind.Sequential)]
public class sProtParElement
{
public ushort wNameIndex;
public eDataTypeTag eDataType; //eDataTypeTag is an enum
public ushort wLen;
public Data_Variant_tag Vt_Var; //Data_Variant_tag is a struct
}
곳과 같이 지금
[StructLayout(LayoutKind.Explicit)]
public struct Data_Variant_tag
{
[FieldOffset(0)]public byte yVal;
[FieldOffset(0)]public sbyte cVal;
[FieldOffset(0)]public ushort wVal;
[FieldOffset(0)]public short iVal;
[FieldOffset(0)]public uint xVal;
[FieldOffset(0)]public int lVal;
[FieldOffset(0)]public IntPtr pcVal;
}
의 데이터 그리드보기에서 데이터를 변경하고 버퍼에 업데이트 된 데이터를 저장할 수있는 사용자 있도록 파일에 다시 기록 할 수 있습니다.
내가 직면 한 문제는 다양한 데이터 유형 때문입니다. 내용을 바이트 배열에 다시 쓰고 싶을 때, 내가 만나는 다양한 데이터 유형 크기 때문에 고정 된 구조체 크기를 사용할 수 없다.
동적 버퍼를 만들고 바이트 버퍼에 필요한 데이터 크기 만 쓰는 방법을 말해 줄 수 있습니까?