Class DecimalSerializer
Type serializer for the decimal primitive (128-bit high-precision decimal with 28-29 significant digits). Writes and reads a single decimal token without additional framing. Suitable for financial and monetary values where binary floating-point rounding is unacceptable.
Inherited Members
Namespace: Scylla.Core.Util.Serialization
Assembly: ScyllaCore.dll
Syntax
public sealed class DecimalSerializer : TypeSerializerBase<decimal>, ITypeSerializer<decimal>, ITypeSerializer
Remarks
Use the shared Instance singleton rather than creating new instances;
DecimalSerializer carries no mutable state and is safe to share across threads.
Fields
Instance
Shared, reusable singleton instance of DecimalSerializer.
Prefer this over allocating a new instance wherever a DecimalSerializer is needed.
Declaration
public static readonly DecimalSerializer Instance
Field Value
| Type | Description |
|---|---|
| DecimalSerializer |
Methods
Read(IScyllaReader, ISerializationContext)
Reads a decimal value from the reader via ReadDecimal().
Declaration
public override decimal Read(IScyllaReader reader, ISerializationContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| IScyllaReader | reader | The reader positioned at a decimal token. Never |
| ISerializationContext | context | The active serialization context. Never |
Returns
| Type | Description |
|---|---|
| decimal | The deserialized decimal value. |
Overrides
Write(decimal, IScyllaWriter, ISerializationContext)
Writes a decimal value to the output via WriteDecimal(decimal).
Declaration
public override void Write(decimal value, IScyllaWriter writer, ISerializationContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| decimal | value | The decimal value to serialize. |
| IScyllaWriter | writer | The writer that receives the serialized token. Never |
| ISerializationContext | context | The active serialization context. Never |