/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v8.0.5
src/Npgsql/Util/StrongBox.cs
41 строка
788 B
Nino Floris
Handler rework (#5123)
26 сен 2023, 00:08
Не верифицирован
26 сен 2023, 00:08
0b7aecb
Код
Авторство
О чём код?
using System.Diagnostics.CodeAnalysis; namespace Npgsql.Util; abstract class StrongBox { private protected StrongBox() { } public abstract bool HasValue { get; } public abstract object? Value { get; set; } public abstract void Clear(); } sealed class StrongBox<T> : StrongBox { bool _hasValue; [MaybeNull] T _typedValue; [MaybeNull] public T TypedValue { get => _typedValue; set { _hasValue = true; _typedValue = value; } } public override bool HasValue => _hasValue; public override object? Value { get => TypedValue; set => TypedValue = (T)value!; } public override void Clear() { _hasValue = false; TypedValue = default!; } }