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>();
}
}