public override void Set(int record, object value)
{
System.Diagnostics.Debug.Assert(null != value, "null value");
if (_nullValue == value)
{
_values[record] = defaultValue;
SetNullBit(record, true);
}
else
{
char ch = ((IConvertible)value).ToChar(FormatProvider);
if ((ch >= (char)0xd800 && ch <= (char)0xdfff) || (ch < (char)0x21 && (ch == (char)0x9 || ch == (char)0xa || ch == (char)0xd)))
{
throw ExceptionBuilder.ProblematicChars(ch);
}
_values[record] = ch;
SetNullBit(record, false);
}
}