@@ -7,7 +7,7 @@ namespace NHibernate.DomainModel.NHSpecific
7
7
/// A nullable type that wraps an <see cref="Int32"/> value.
8
8
/// </summary>
9
9
[ TypeConverter ( typeof ( NullableInt32Converter ) ) , Serializable ( ) ]
10
- public struct NullableInt32 : IFormattable , IComparable
10
+ public struct NullableInt32 : IFormattable , IComparable , IConvertible
11
11
{
12
12
public static readonly NullableInt32 Default = new NullableInt32 ( ) ;
13
13
@@ -234,5 +234,94 @@ public static NullableInt32 Parse(string s)
234
234
// TODO: implement the rest of the Parse overloads found in Int32
235
235
236
236
#endregion
237
+
238
+ #region IConvertible
239
+
240
+ public TypeCode GetTypeCode ( )
241
+ {
242
+ return _value . GetTypeCode ( ) ;
243
+ }
244
+
245
+ public bool ToBoolean ( IFormatProvider provider )
246
+ {
247
+ return ( ( IConvertible ) _value ) . ToBoolean ( provider ) ;
248
+ }
249
+
250
+ public char ToChar ( IFormatProvider provider )
251
+ {
252
+ return ( ( IConvertible ) _value ) . ToChar ( provider ) ;
253
+ }
254
+
255
+ public sbyte ToSByte ( IFormatProvider provider )
256
+ {
257
+ return ( ( IConvertible ) _value ) . ToSByte ( provider ) ;
258
+ }
259
+
260
+ public byte ToByte ( IFormatProvider provider )
261
+ {
262
+ return ( ( IConvertible ) _value ) . ToByte ( provider ) ;
263
+ }
264
+
265
+ public short ToInt16 ( IFormatProvider provider )
266
+ {
267
+ return ( ( IConvertible ) _value ) . ToInt16 ( provider ) ;
268
+ }
269
+
270
+ public ushort ToUInt16 ( IFormatProvider provider )
271
+ {
272
+ return ( ( IConvertible ) _value ) . ToUInt16 ( provider ) ;
273
+ }
274
+
275
+ public int ToInt32 ( IFormatProvider provider )
276
+ {
277
+ return ( ( IConvertible ) _value ) . ToInt32 ( provider ) ;
278
+ }
279
+
280
+ public uint ToUInt32 ( IFormatProvider provider )
281
+ {
282
+ return ( ( IConvertible ) _value ) . ToUInt32 ( provider ) ;
283
+ }
284
+
285
+ public long ToInt64 ( IFormatProvider provider )
286
+ {
287
+ return ( ( IConvertible ) _value ) . ToInt64 ( provider ) ;
288
+ }
289
+
290
+ public ulong ToUInt64 ( IFormatProvider provider )
291
+ {
292
+ return ( ( IConvertible ) _value ) . ToUInt64 ( provider ) ;
293
+ }
294
+
295
+ public float ToSingle ( IFormatProvider provider )
296
+ {
297
+ return ( ( IConvertible ) _value ) . ToSingle ( provider ) ;
298
+ }
299
+
300
+ public double ToDouble ( IFormatProvider provider )
301
+ {
302
+ return ( ( IConvertible ) _value ) . ToDouble ( provider ) ;
303
+ }
304
+
305
+ public decimal ToDecimal ( IFormatProvider provider )
306
+ {
307
+ return ( ( IConvertible ) _value ) . ToDecimal ( provider ) ;
308
+ }
309
+
310
+ public DateTime ToDateTime ( IFormatProvider provider )
311
+ {
312
+ return ( ( IConvertible ) _value ) . ToDateTime ( provider ) ;
313
+ }
314
+
315
+ public string ToString ( IFormatProvider provider )
316
+ {
317
+ return _value . ToString ( provider ) ;
318
+ }
319
+
320
+ public object ToType ( System . Type conversionType , IFormatProvider provider )
321
+ {
322
+ return ( ( IConvertible ) _value ) . ToType ( conversionType , provider ) ;
323
+ }
324
+
325
+ #endregion
237
326
}
238
327
}
0 commit comments