feat: upgrade to .NET 6, refactor everything
This commit is contained in:
@@ -1,26 +1,25 @@
|
||||
namespace Myriad.Utils
|
||||
namespace Myriad.Utils;
|
||||
|
||||
public interface IOptional
|
||||
{
|
||||
public interface IOptional
|
||||
object? GetValue();
|
||||
}
|
||||
|
||||
public readonly struct Optional<T>: IOptional
|
||||
{
|
||||
public Optional(T value)
|
||||
{
|
||||
object? GetValue();
|
||||
HasValue = true;
|
||||
Value = value;
|
||||
}
|
||||
|
||||
public readonly struct Optional<T>: IOptional
|
||||
{
|
||||
public Optional(T value)
|
||||
{
|
||||
HasValue = true;
|
||||
Value = value;
|
||||
}
|
||||
public bool HasValue { get; }
|
||||
public object? GetValue() => Value;
|
||||
|
||||
public bool HasValue { get; }
|
||||
public object? GetValue() => Value;
|
||||
public T Value { get; }
|
||||
|
||||
public T Value { get; }
|
||||
public static implicit operator Optional<T>(T value) => new(value);
|
||||
|
||||
public static implicit operator Optional<T>(T value) => new(value);
|
||||
|
||||
public static Optional<T> Some(T value) => new(value);
|
||||
public static Optional<T> None() => default;
|
||||
}
|
||||
public static Optional<T> Some(T value) => new(value);
|
||||
public static Optional<T> None() => default;
|
||||
}
|
Reference in New Issue
Block a user