/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Npgsql/Internal/Converters/MoneyConverter.cs
19 строк
753 B
Nino Floris
Remove PgBufferedConverter virtual dispatch hop (#6574)
15 май 2026, 18:24
Не верифицирован
15 май 2026, 18:24
78d37a1
Код
Авторство
О чём код?
using System; using System.Numerics; namespace Npgsql.Internal.Converters; sealed class MoneyConverter<T> : PgBufferedConverter<T> where T : INumberBase<T> { public override bool CanConvert(DataFormat format, out BufferRequirements bufferRequirements) { bufferRequirements = BufferRequirements.CreateFixedSize(sizeof(long)); return format is DataFormat.Binary; } public override T Read(PgReader reader) => ConvertTo(new PgMoney(reader.ReadInt64())); public override void Write(PgWriter writer, T value) => writer.WriteInt64(ConvertFrom(value).GetValue()); static PgMoney ConvertFrom(T value) => new(decimal.CreateChecked(value)); static T ConvertTo(PgMoney money) => T.CreateChecked(money.ToDecimal()); }