public object GetFieldObject(string row, ref int currentPos)
{
try
{
string data = GetFieldData(row, ref currentPos);
object result = null;
switch (this.Type)
{
case FixedWidthTypes.NULL:
break;
case FixedWidthTypes.STRING:
result = data;
break;
case FixedWidthTypes.INT:
result = int.Parse(data);
break;
case FixedWidthTypes.LONG:
result = long.Parse(data);
break;
case FixedWidthTypes.FLOAT:
result = float.Parse(data);
break;
case FixedWidthTypes.DOUBLE:
result = double.Parse(data);
break;
case FixedWidthTypes.DECIMAL:
result = decimal.Parse(data);
break;
case FixedWidthTypes.DATETIME:
result = DateTime.Parse(data);
break;
default:
throw new NotImplementedException("Invalid value for Type");
}
return result;
}
catch (Exception ex)
{
if (Strict)
throw ex;
else
return DefaultValue;
}
}