Отладка Visual Studio - родные типы - PullRequest
2 голосов
/ 30 марта 2012

В настоящее время я разрабатываю приложение для работы с файлами WAV.Я хочу иметь возможность отображать информацию в структуре с ее собственным типом, но C # думает о char как о 16-битном значении.

Четыре байта ChunkID0 ... 3 должны содержать 'R' 'Я '' F '' 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.

Есть мысли?

1 Ответ

1 голос
/ 30 марта 2012
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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...