Visual Studio调试-本机类型

本文关键字:类型 -本 调试 Studio Visual | 更新日期: 2023-09-27 18:29:23

我目前正在开发一个使用WAV文件的应用程序。我希望能够在结构中显示其本机类型的信息,但C#认为char是一个16位的值。

四个字节ChunkID0…3应该包含"R"、"I"、"F"answers"F"

[StructLayout(LayoutKind.Explicit, Size = 12, Pack = 1)]
public unsafe struct RiffDescriptor
{
    [FieldOffset(0)]
    public byte ChunkID_0;
    [FieldOffset(1)]
    public byte ChunkID_1;
    ...
}

我希望调试器将ChunkID显示为"R",而不是122。

有什么想法吗?

Visual Studio调试-本机类型

public class RiffDescriptor
{
    public RiffDescriptor(BinaryReader b)
    {
        // Read the ChunkID - Should be RIFF
        ChunkID = b.ReadBytes(4);
        // Read the ChunkSize
        ChunkSize = b.ReadUInt32();
        // Read the Format - Should be WAVE
        Format = b.ReadBytes(4);
    }
    [DebuggerDisplay("ChunkID = {System.Text.Encoding.Default.GetString(ChunkID)}")]
    public byte[] ChunkID;
    public UInt32 ChunkSize;
    [DebuggerDisplay("Format = {System.Text.Encoding.Default.GetString(Format)}")]
    public byte[] Format;
}
相关文章: