<PackageReference Include="System.Drawing.Common" Version="11.0.0-preview.1.26104.118" />

System.Value

struct Value
A struct that can hold any value type or reference type without boxing primitive types or enums. Behavior matches casting to/from object.
namespace System { internal readonly struct Value { public Type Type { get; } public Value(object value); public Value(byte value); public Value(byte? value); public static implicit operator Value(byte value); public static explicit operator byte(ref Value value); public static implicit operator Value(byte? value); public static explicit operator byte?(ref Value value); public Value(sbyte value); public Value(sbyte? value); public static implicit operator Value(sbyte value); public static explicit operator sbyte(ref Value value); public static implicit operator Value(sbyte? value); public static explicit operator sbyte?(ref Value value); public Value(bool value); public Value(bool? value); public static implicit operator Value(bool value); public static explicit operator bool(ref Value value); public static implicit operator Value(bool? value); public static explicit operator bool?(ref Value value); public Value(char value); public Value(char? value); public static implicit operator Value(char value); public static explicit operator char(ref Value value); public static implicit operator Value(char? value); public static explicit operator char?(ref Value value); public Value(short value); public Value(short? value); public static implicit operator Value(short value); public static explicit operator short(ref Value value); public static implicit operator Value(short? value); public static explicit operator short?(ref Value value); public Value(int value); public Value(int? value); public static implicit operator Value(int value); public static explicit operator int(ref Value value); public static implicit operator Value(int? value); public static explicit operator int?(ref Value value); public Value(long value); public Value(long? value); public static implicit operator Value(long value); public static explicit operator long(ref Value value); public static implicit operator Value(long? value); public static explicit operator long?(ref Value value); public Value(ushort value); public Value(ushort? value); public static implicit operator Value(ushort value); public static explicit operator ushort(ref Value value); public static implicit operator Value(ushort? value); public static explicit operator ushort?(ref Value value); public Value(uint value); public Value(uint? value); public static implicit operator Value(uint value); public static explicit operator uint(ref Value value); public static implicit operator Value(uint? value); public static explicit operator uint?(ref Value value); public Value(ulong value); public Value(ulong? value); public static implicit operator Value(ulong value); public static explicit operator ulong(ref Value value); public static implicit operator Value(ulong? value); public static explicit operator ulong?(ref Value value); public Value(float value); public Value(float? value); public static implicit operator Value(float value); public static explicit operator float(ref Value value); public static implicit operator Value(float? value); public static explicit operator float?(ref Value value); public Value(double value); public Value(double? value); public static implicit operator Value(double value); public static explicit operator double(ref Value value); public static implicit operator Value(double? value); public static explicit operator double?(ref Value value); public Value(Size value); public Value(Size? value); public static implicit operator Value(Size value); public static explicit operator Size(ref Value value); public static implicit operator Value(Size? value); public static explicit operator Size?(ref Value value); public Value(Point value); public Value(Point? value); public static implicit operator Value(Point value); public static explicit operator Point(ref Value value); public static implicit operator Value(Point? value); public static explicit operator Point?(ref Value value); public Value(Color value); public Value(Color? value); public static implicit operator Value(Color value); public static explicit operator Color(ref Value value); public static implicit operator Value(Color? value); public static explicit operator Color?(ref Value value); public Value(DateTimeOffset value); public Value(DateTimeOffset? value); public static implicit operator Value(DateTimeOffset value); public static explicit operator DateTimeOffset(ref Value value); public static implicit operator Value(DateTimeOffset? value); public static explicit operator DateTimeOffset?(ref Value value); public Value(DateTime value); public Value(DateTime? value); public static implicit operator Value(DateTime value); public static explicit operator DateTime(ref Value value); public static implicit operator Value(DateTime? value); public static explicit operator DateTime?(ref Value value); public Value(ArraySegment<byte> segment); public static implicit operator Value(ArraySegment<byte> value); public static explicit operator ArraySegment<byte>(ref Value value); public Value(ArraySegment<char> segment); public static implicit operator Value(ArraySegment<char> value); public static explicit operator ArraySegment<char>(ref Value value); public static implicit operator Value(decimal value); public static explicit operator decimal(ref Value value); public static implicit operator Value(decimal? value); public static explicit operator decimal?(ref Value value); public static Value Create<[Nullable(2)] T>(T value); public bool TryGetValue<[Nullable(2)] T>(out T value); public T GetValue<[Nullable(2)] T>(); } }