File: _generated\98\Microsoft_Diagnostics_DataContractReader_Data.ImageFileHeader.g.cs
Web Access
Project: src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Contracts\Microsoft.Diagnostics.DataContractReader.Contracts.csproj (Microsoft.Diagnostics.DataContractReader.Contracts)
// <auto-generated/>
#nullable enable

using Microsoft.Diagnostics.DataContractReader;
using Microsoft.Diagnostics.DataContractReader.Contracts;

namespace Microsoft.Diagnostics.DataContractReader.Data;

/// <summary>Generated IData implementation.</summary>
partial class ImageFileHeader : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
    public static int GetNumberOfSectionsOffset(Target target)
        => 2;

    public static int GetTimeDateStampOffset(Target target)
        => 4;

    public static int GetSizeOfOptionalHeaderOffset(Target target)
        => 16;

    public TargetPointer Address { get; }

    private readonly Target _target;

    partial void OnInit(Target target, TargetPointer address);

    public ImageFileHeader(Target target, TargetPointer address)
    {
        Address = address;
        _target = target;

        OnInit(target, address);
    }

    static ImageFileHeader IData<ImageFileHeader>.Create(Target target, TargetPointer address)
        => new ImageFileHeader(target, address);

    private ushort _NumberOfSections__value = default!;
    private bool _NumberOfSections__read;
    public partial ushort NumberOfSections
    {
        get
        {
            if (!_NumberOfSections__read)
            {
                _NumberOfSections__value = _target.ReadLittleEndian<ushort>(Address + 2);
                _NumberOfSections__read = true;
            }
            return _NumberOfSections__value;
        }
    }

    private uint _TimeDateStamp__value = default!;
    private bool _TimeDateStamp__read;
    public partial uint TimeDateStamp
    {
        get
        {
            if (!_TimeDateStamp__read)
            {
                _TimeDateStamp__value = _target.ReadLittleEndian<uint>(Address + 4);
                _TimeDateStamp__read = true;
            }
            return _TimeDateStamp__value;
        }
    }

    private ushort _SizeOfOptionalHeader__value = default!;
    private bool _SizeOfOptionalHeader__read;
    public partial ushort SizeOfOptionalHeader
    {
        get
        {
            if (!_SizeOfOptionalHeader__read)
            {
                _SizeOfOptionalHeader__value = _target.ReadLittleEndian<ushort>(Address + 16);
                _SizeOfOptionalHeader__read = true;
            }
            return _SizeOfOptionalHeader__value;
        }
    }

    void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
    {
        _ = NumberOfSections;
        _ = TimeDateStamp;
        _ = SizeOfOptionalHeader;
    }

}