System.Data.OracleClient.OracleConvert.ValueTypeToOracleType C# (CSharp) Method

ValueTypeToOracleType() static private method

static private ValueTypeToOracleType ( Type type ) : OracleType
type System.Type
return OracleType
		internal static OracleType ValueTypeToOracleType(Type type) {
			switch (Type.GetTypeCode(type)) {
				case TypeCode.Boolean: return OracleType.Byte;
				case TypeCode.Byte: return OracleType.Byte;
				case TypeCode.Char: return OracleType.Char;
				case TypeCode.DateTime: return OracleType.DateTime;
//				case TypeCode.DBNull: return OracleType.Empty;
				case TypeCode.Decimal: return OracleType.Number;
				case TypeCode.Double: return OracleType.Double;
//				case TypeCode.Empty: return OracleType.Empty;
				case TypeCode.Int16: return OracleType.Int16;
				case TypeCode.Int32: return OracleType.Int32;
				case TypeCode.Int64: return OracleType.Number;
				default:
				case TypeCode.Object: {
					if (type.Equals(TypeOfByteArray)) return  OracleType.Blob;
					if (type.Equals(TypeOfTimespan)) return OracleType.Timestamp;
					if (type.IsSubclassOf(TypeOfIDataReader)) return OracleType.Cursor;
//					if (type.Equals(DbTypes.TypeOfGuid)) return OracleType.Guid;
//
					if (type.IsEnum)
						return ValueTypeToOracleType (Enum.GetUnderlyingType (type));
//
					return OracleType.VarChar;
				}
				case TypeCode.SByte: return OracleType.SByte;
				case TypeCode.Single: return OracleType.Float;
				case TypeCode.String: return OracleType.VarChar;
				case TypeCode.UInt16: return OracleType.UInt16;
				case TypeCode.UInt32: return OracleType.UInt32;
				case TypeCode.UInt64: return OracleType.Number;
			}
		}