Struct SafeEnum<T>
- Namespace
- ChartTools.Extensions.Enums
- Assembly
- ChartTools.dll
public struct SafeEnum<T> : IEnumWrapper<SafeEnum<T>, T>, IEnumWrapper<SafeEnum<T>>, IEquatable<SafeEnum<T>>, IEquatable<SafeEnum<T>?>, IComparable<SafeEnum<T>>, IEqualityOperators<SafeEnum<T>, SafeEnum<T>?, bool>, IComparisonOperators<SafeEnum<T>, SafeEnum<T>, bool>, IEqualityOperators<SafeEnum<T>, SafeEnum<T>, bool>, ISpanParsable<SafeEnum<T>>, IParsable<SafeEnum<T>>, IEquatable<T>, IEquatable<T?>, IComparable<T>, IEqualityOperators<SafeEnum<T>, T?, bool>, IComparisonOperators<SafeEnum<T>, T, bool>, IEqualityOperators<SafeEnum<T>, T, bool>, IBitwiseOperators<SafeEnum<T>, T, T> where T : struct, Enum
Type Parameters
T
- Implements
-
- Inherited Members
-
- Extension Methods
-
Constructors
Parameters
value T
Properties
public T Value { readonly get; set; }
Property Value
- T
Methods
public int CompareTo(SafeEnum<T> other)
Parameters
other SafeEnum<T>
Returns
- int
public int CompareTo(T other)
Parameters
other T
Returns
- int
public readonly bool Equals(SafeEnum<T> other)
Parameters
other SafeEnum<T>
Returns
- bool
public bool Equals(SafeEnum<T>? nullable)
Parameters
nullable SafeEnum<T>?
Returns
- bool
public bool Equals(T? nullable)
Parameters
nullable T?
Returns
- bool
public override readonly bool Equals(object obj)
Parameters
obj object
Returns
- bool
public bool Equals(T other)
Parameters
other T
Returns
- bool
public override readonly int GetHashCode()
Returns
- int
public override readonly string ToString()
Returns
- string
Operators
public static T operator &(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- T
public static T operator |(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- T
public static T operator ^(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- T
public static bool operator >(SafeEnum<T> left, SafeEnum<T>? right)
Parameters
left SafeEnum<T>
right SafeEnum<T>?
Returns
- bool
public static bool operator >(SafeEnum<T> left, T? right)
Parameters
left SafeEnum<T>
right T?
Returns
- bool
public static bool operator >=(SafeEnum<T> left, SafeEnum<T>? right)
Parameters
left SafeEnum<T>
right SafeEnum<T>?
Returns
- bool
public static bool operator >=(SafeEnum<T> left, T? right)
Parameters
left SafeEnum<T>
right T?
Returns
- bool
public static T operator <<(SafeEnum<T> value, int shiftAmount)
Parameters
value SafeEnum<T>
shiftAmount int
Returns
- T
public static bool operator <(SafeEnum<T> left, SafeEnum<T>? right)
Parameters
left SafeEnum<T>
right SafeEnum<T>?
Returns
- bool
public static bool operator <(SafeEnum<T> left, T? right)
Parameters
left SafeEnum<T>
right T?
Returns
- bool
public static bool operator <=(SafeEnum<T> left, SafeEnum<T>? right)
Parameters
left SafeEnum<T>
right SafeEnum<T>?
Returns
- bool
public static bool operator <=(SafeEnum<T> left, T? right)
Parameters
left SafeEnum<T>
right T?
Returns
- bool
public static T operator >>(SafeEnum<T> value, int shiftAmount)
Parameters
value SafeEnum<T>
shiftAmount int
Returns
- T
public static T operator >>>(SafeEnum<T> value, int shiftAmount)
Parameters
value SafeEnum<T>
shiftAmount int
Returns
- T
Explicit Interface Implementations
static T operator &(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- T
static T operator |(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- T
static bool operator ==(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- bool
static bool operator ==(SafeEnum<T> left, SafeEnum<T>? right)
Parameters
left SafeEnum<T>
right SafeEnum<T>?
Returns
- bool
static bool operator ==(SafeEnum<T> left, T? right)
Parameters
left SafeEnum<T>
right T?
Returns
- bool
static bool operator ==(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- bool
static T operator ^(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- T
static bool operator >(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- bool
static bool operator >(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- bool
static bool operator >=(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- bool
static bool operator >=(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- bool
static implicit operator T(SafeEnum<T> wrapper)
Parameters
wrapper SafeEnum<T>
Returns
- T
static implicit operator SafeEnum<T>(T value)
Parameters
value T
Returns
- SafeEnum<T>
static bool operator !=(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- bool
static bool operator !=(SafeEnum<T> left, SafeEnum<T>? right)
Parameters
left SafeEnum<T>
right SafeEnum<T>?
Returns
- bool
static bool operator !=(SafeEnum<T> left, T? right)
Parameters
left SafeEnum<T>
right T?
Returns
- bool
static bool operator !=(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- bool
static bool operator <(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- bool
static bool operator <(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- bool
static bool operator <=(SafeEnum<T> left, SafeEnum<T> right)
Parameters
left SafeEnum<T>
right SafeEnum<T>
Returns
- bool
static bool operator <=(SafeEnum<T> left, T right)
Parameters
left SafeEnum<T>
right T
Returns
- bool
static T operator ~(SafeEnum<T> value)
Parameters
value SafeEnum<T>
Returns
- T