# Class PgConverter<T>

Namespace
  Npgsql.Internal

Assembly
  Npgsql.dll

    public abstract class PgConverter<T> : PgConverter

#### Type Parameters

`T`

Inheritance
  object
  PgConverter
  PgConverter<T>

Derived
  PgBufferedConverter<T>
  PgStreamingConverter<T>

Inherited Members
  PgConverter.IsDbNullable
  PgConverter.CanConvert(DataFormat, out BufferRequirements)
  PgConverter.CanConvertBufferedDefault(DataFormat, out BufferRequirements)
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

## Methods

### GetSize(SizeContext, T, ref object?)

    public abstract Size GetSize(SizeContext context, T value, ref object? writeState)

#### Parameters

`context` SizeContext
`value` T
`writeState` object

#### Returns

Size

### IsDbNull(T?, ref object?)

    public bool IsDbNull(T? value, ref object? writeState)

#### Parameters

`value` T
`writeState` object

#### Returns

bool

### IsDbNullValue(T?, ref object?)

    protected virtual bool IsDbNullValue(T? value, ref object? writeState)

#### Parameters

`value` T
`writeState` object

#### Returns

bool

### Read(PgReader)

    public abstract T Read(PgReader reader)

#### Parameters

`reader` PgReader

#### Returns

T

### ReadAsync(PgReader, CancellationToken)

    public abstract ValueTask<T> ReadAsync(PgReader reader, CancellationToken cancellationToken = default)

#### Parameters

`reader` PgReader
`cancellationToken` CancellationToken

#### Returns

ValueTask<T>

### Write(PgWriter, T)

    public abstract void Write(PgWriter writer, T value)

#### Parameters

`writer` PgWriter
`value` T

### WriteAsync(PgWriter, T, CancellationToken)

    public abstract ValueTask WriteAsync(PgWriter writer, T value, CancellationToken cancellationToken = default)

#### Parameters

`writer` PgWriter
`value` T
`cancellationToken` CancellationToken

#### Returns

ValueTask