2002-01-14 Miguel de Icaza <miguel@ximian.com>
[mono.git] / mcs / class / corlib / System / IConvertible.cs
1 //
2 // System.IConvertible.cs
3 //
4 // Author:
5 //   Miguel de Icaza (miguel@ximian.com)
6 //
7 // (C) Ximian, Inc.  http://www.ximian.com
8 //
9
10 //
11 // Functions Implementing this interface should check out 
12 // System.Convert. Most of these methods are implemented 
13 // there for all these data types.
14 //
15 // System.Convert has ToType helper method for the object 
16 // ToType (Type conversionType, IFormatProvider provider)
17 // method. In most cases you can specify your ToType function
18 // as calling 
19 //
20 // public Type value; // value of this data type
21 // public object ToType(Type conversionType, IFormatProvider provider) {
22 //    Convert.ToType (value, conversionType, provider);
23 // } 
24 // 
25 // Which is just a wrapper for your ToType methods.
26 //
27 // See http://lists.ximian.com/archives/public/mono-list/2001-July/000525.html
28 // for more discussion on the topic
29 //
30
31 namespace System {
32
33     [CLSCompliant(false)]
34     public interface IConvertible {
35         
36         TypeCode GetTypeCode ();
37         
38         bool     ToBoolean  (IFormatProvider provider);
39         byte     ToByte     (IFormatProvider provider);
40         char     ToChar     (IFormatProvider provider);
41         DateTime ToDateTime (IFormatProvider provider);
42         decimal  ToDecimal  (IFormatProvider provider);
43         double   ToDouble   (IFormatProvider provider);
44         short    ToInt16    (IFormatProvider provider);
45         int      ToInt32    (IFormatProvider provider);
46         long     ToInt64    (IFormatProvider provider);
47         sbyte    ToSByte    (IFormatProvider provider);
48         float    ToSingle   (IFormatProvider provider);
49         string   ToString   (IFormatProvider provider);
50         object   ToType     (Type conversionType, IFormatProvider provider);
51         ushort   ToUInt16   (IFormatProvider provider);
52         uint     ToUInt32   (IFormatProvider provider);
53         ulong    ToUInt64   (IFormatProvider provider);
54     }
55 }