private object BuildOneInstance(NativeObjectInfo objectInfo) { if (objectInfo.IsAtomicNativeObject()) { return(BuildOneInstance((AtomicNativeObjectInfo)objectInfo)); } if (objectInfo.IsArrayObject()) { return(BuildArrayInstance((ArrayObjectInfo)objectInfo)); } if (objectInfo.IsNull()) { return(null); } throw new OdbRuntimeException( NDatabaseError.InstanceBuilderNativeType.AddParameter(OdbType.GetNameFromId(objectInfo.GetOdbTypeId()))); }
public object ReadAtomicNativeObjectInfoAsObject(int odbTypeId) { object o = null; switch (odbTypeId) { case OdbType.ByteId: { o = _fsi.ReadByte(); break; } case OdbType.SByteId: { o = _fsi.ReadSByte(); break; } case OdbType.BooleanId: { o = _fsi.ReadBoolean(); break; } case OdbType.CharacterId: { o = _fsi.ReadChar(); break; } case OdbType.FloatId: { o = _fsi.ReadFloat(); break; } case OdbType.DoubleId: { o = _fsi.ReadDouble(); break; } case OdbType.IntegerId: { o = _fsi.ReadInt(); break; } case OdbType.UIntegerId: { o = _fsi.ReadUInt(); break; } case OdbType.LongId: { o = _fsi.ReadLong(); break; } case OdbType.ULongId: { o = _fsi.ReadULong(); break; } case OdbType.ShortId: { o = _fsi.ReadShort(); break; } case OdbType.UShortId: { o = _fsi.ReadUShort(); break; } case OdbType.DecimalId: { o = _fsi.ReadBigDecimal(); break; } case OdbType.DateId: { o = _fsi.ReadDate(); break; } case OdbType.ObjectOidId: { var oid = _fsi.ReadLong(); o = OIDFactory.BuildObjectOID(oid); break; } case OdbType.ClassOidId: { var cid = _fsi.ReadLong(); o = OIDFactory.BuildClassOID(cid); break; } case OdbType.StringId: { o = _fsi.ReadString(); break; } case OdbType.EnumId: { o = _fsi.ReadString(); break; } } if (o == null) { throw new OdbRuntimeException( NDatabaseError.NativeTypeNotSupported.AddParameter(odbTypeId).AddParameter( OdbType.GetNameFromId(odbTypeId))); } return(o); }
private static object ThrowIfNotFound(int odbTypeId) { throw new OdbRuntimeException( NDatabaseError.InstanceBuilderNativeTypeInCollectionNotSupported.AddParameter( OdbType.GetNameFromId(odbTypeId))); }