File: System\Runtime\Serialization\BinaryFormat\AllowedRecordType.cs
Web Access
Project: src\src\libraries\System.Runtime.Serialization.BinaryFormat\src\System.Runtime.Serialization.BinaryFormat.csproj (System.Runtime.Serialization.BinaryFormat)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
namespace System.Runtime.Serialization.BinaryFormat;
 
[Flags]
internal enum AllowedRecordTypes : uint
{
    None = 0,
    SerializedStreamHeader = 1 << RecordType.SerializedStreamHeader,
    ClassWithId = 1 << RecordType.ClassWithId,
    SystemClassWithMembersAndTypes = 1 << RecordType.SystemClassWithMembersAndTypes,
    ClassWithMembersAndTypes = 1 << RecordType.ClassWithMembersAndTypes,
    BinaryObjectString = 1 << RecordType.BinaryObjectString,
    BinaryArray = 1 << RecordType.BinaryArray,
    MemberPrimitiveTyped = 1 << RecordType.MemberPrimitiveTyped,
    MemberReference = 1 << RecordType.MemberReference,
    ObjectNull = 1 << RecordType.ObjectNull,
    MessageEnd = 1 << RecordType.MessageEnd,
    BinaryLibrary = 1 << RecordType.BinaryLibrary,
    ObjectNullMultiple256 = 1 << RecordType.ObjectNullMultiple256,
    ObjectNullMultiple = 1 << RecordType.ObjectNullMultiple,
    ArraySinglePrimitive = 1 << RecordType.ArraySinglePrimitive,
    ArraySingleObject = 1 << RecordType.ArraySingleObject,
    ArraySingleString = 1 << RecordType.ArraySingleString,
 
    Nulls = ObjectNull | ObjectNullMultiple256 | ObjectNullMultiple,
 
    /// <summary>
    /// Any .NET object (a primitive, a reference type, a reference or single null).
    /// </summary>
    AnyObject = MemberPrimitiveTyped
        | ArraySingleObject | ArraySinglePrimitive | ArraySingleString | BinaryArray
        | ClassWithId | ClassWithMembersAndTypes | SystemClassWithMembersAndTypes
        | BinaryObjectString
        | MemberReference
        | ObjectNull,
}