1 // ==++== 2 // 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 // 5 // ==--== 6 //////////////////////////////////////////////////////////////////////////////// 7 // Void 8 // This class represents a Missing Variant 9 //////////////////////////////////////////////////////////////////////////////// 10 namespace System { 11 12 using System; 13 using System.Runtime.Remoting; 14 using System.Runtime.Serialization; 15 using System.Security.Permissions; 16 [System.Runtime.InteropServices.ComVisible(true)] 17 [Serializable] 18 public sealed class DBNull : ISerializable, IConvertible { 19 20 //Package private constructor DBNull()21 private DBNull(){ 22 } 23 DBNull(SerializationInfo info, StreamingContext context)24 private DBNull(SerializationInfo info, StreamingContext context) { 25 throw new NotSupportedException(Environment.GetResourceString("NotSupported_DBNullSerial")); 26 } 27 28 public static readonly DBNull Value = new DBNull(); 29 30 [System.Security.SecurityCritical] GetObjectData(SerializationInfo info, StreamingContext context)31 public void GetObjectData(SerializationInfo info, StreamingContext context) { 32 UnitySerializationHolder.GetUnitySerializationInfo(info, UnitySerializationHolder.NullUnity, null, null); 33 } 34 ToString()35 public override String ToString() { 36 return String.Empty; 37 } 38 ToString(IFormatProvider provider)39 public String ToString(IFormatProvider provider) { 40 return String.Empty; 41 } 42 GetTypeCode()43 public TypeCode GetTypeCode() { 44 return TypeCode.DBNull; 45 } 46 47 /// <internalonly/> IConvertible.ToBoolean(IFormatProvider provider)48 bool IConvertible.ToBoolean(IFormatProvider provider) { 49 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 50 } 51 52 /// <internalonly/> IConvertible.ToChar(IFormatProvider provider)53 char IConvertible.ToChar(IFormatProvider provider) { 54 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 55 } 56 57 /// <internalonly/> IConvertible.ToSByte(IFormatProvider provider)58 sbyte IConvertible.ToSByte(IFormatProvider provider) { 59 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 60 } 61 62 /// <internalonly/> IConvertible.ToByte(IFormatProvider provider)63 byte IConvertible.ToByte(IFormatProvider provider) { 64 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 65 } 66 67 /// <internalonly/> IConvertible.ToInt16(IFormatProvider provider)68 short IConvertible.ToInt16(IFormatProvider provider) { 69 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 70 } 71 72 /// <internalonly/> IConvertible.ToUInt16(IFormatProvider provider)73 ushort IConvertible.ToUInt16(IFormatProvider provider) { 74 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 75 } 76 77 /// <internalonly/> IConvertible.ToInt32(IFormatProvider provider)78 int IConvertible.ToInt32(IFormatProvider provider) { 79 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 80 } 81 82 /// <internalonly/> IConvertible.ToUInt32(IFormatProvider provider)83 uint IConvertible.ToUInt32(IFormatProvider provider) { 84 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 85 } 86 87 /// <internalonly/> IConvertible.ToInt64(IFormatProvider provider)88 long IConvertible.ToInt64(IFormatProvider provider) { 89 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 90 } 91 92 /// <internalonly/> IConvertible.ToUInt64(IFormatProvider provider)93 ulong IConvertible.ToUInt64(IFormatProvider provider) { 94 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 95 } 96 97 /// <internalonly/> IConvertible.ToSingle(IFormatProvider provider)98 float IConvertible.ToSingle(IFormatProvider provider) { 99 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 100 } 101 102 /// <internalonly/> IConvertible.ToDouble(IFormatProvider provider)103 double IConvertible.ToDouble(IFormatProvider provider) { 104 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 105 } 106 107 /// <internalonly/> IConvertible.ToDecimal(IFormatProvider provider)108 decimal IConvertible.ToDecimal(IFormatProvider provider) { 109 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 110 } 111 112 /// <internalonly/> IConvertible.ToDateTime(IFormatProvider provider)113 DateTime IConvertible.ToDateTime(IFormatProvider provider) { 114 throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromDBNull")); 115 } 116 117 /// <internalonly/> IConvertible.ToType(Type type, IFormatProvider provider)118 Object IConvertible.ToType(Type type, IFormatProvider provider) { 119 return Convert.DefaultToType((IConvertible)this, type, provider); 120 } 121 } 122 } 123 124