namespace System.Runtime.CompilerServices
{
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, Inherited = false)]
    public sealed class NullableAttribute : Attribute
    {
        /// Flags specifying metadata related to nullable reference types.
        public readonly byte[] NullableFlags;
        /// Initializes the attribute.
        /// The flags value.
        public NullableAttribute(byte value)
        {
            NullableFlags = new[] { value };
        }
        /// Initializes the attribute.
        /// The flags value.
        public NullableAttribute(byte[] value)
        {
            NullableFlags = value;
        }
    }
}