public Converter( Sqlite.DataType dataType, bool utf8Text, Func <TField, bool>?canConvert, Func <TField, int>?length, Func <TField, long>?toInteger, Func <TField, double>?toFloat, ToSpan <TField, char>?toUtf16Text, AsSpan <TField, char>?asUtf16Text, ToSpan <TField, byte>?toUtf8Text, AsSpan <TField, byte>?asUtf8Text, ToSpan <TField, byte>?toBlob, AsSpan <TField, byte>?asBlob) { DataType = dataType; Utf8Text = utf8Text; _canConvert = canConvert; Length = length; ToInteger = toInteger; ToFloat = toFloat; ToUtf16Text = toUtf16Text; AsUtf16Text = asUtf16Text; ToUtf8Text = toUtf8Text; AsUtf8Text = asUtf8Text; ToBlob = toBlob; AsBlob = asBlob; }
private AssignmentException( string?memberName, Type memberType, Type resultType, Sqlite.DataType dataType, string message) : base(message) { MemberName = memberName; MemberType = memberType; ResultType = resultType; DataType = dataType.ToString(); }
internal static void ThrowConversionMissing( string?memberName, Type memberType, Type resultType, Sqlite.DataType dataType) { throw new AssignmentException( memberName, memberType, resultType, dataType, $"No defined conversion from SQLite.{dataType} to {memberType.Name} for {resultType.Name}.{memberName}. (Add custom conversions with {nameof(ResultConverter)}.{nameof(ResultConverter.Builder)}.)"); }
internal static void ThrowConversionFailed( string?memberName, Type memberType, Type resultType, Sqlite.DataType dataType, Exception innerException) { throw new AssignmentException( memberName, memberType, resultType, dataType, $"Conversion failed from SQLite.{dataType} to {memberType.Name} for {resultType.Name}.{memberName}.", innerException); }
public Column(IntPtr statement, int index) { _statement = statement; Index = index; DataType = Sqlite.ColumnType(statement, index); }