Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
[mono.git] / mcs / class / corlib / System / Type.cs
1 //
2 // System.Type.cs
3 //
4 // Author:
5 //   Miguel de Icaza (miguel@ximian.com)
6 //
7 // (C) Ximian, Inc.  http://www.ximian.com
8 //
9 // TODO: Mucho left to implement.
10 //
11
12 using System.Reflection;
13
14 namespace System {
15
16         //
17         // FIXME: Implement the various IReflect dependencies
18         //
19         
20         public abstract class Type : MemberInfo /* IReflect */ {
21
22                 private RuntimeTypeHandle _handle;
23
24                 /// <summary>
25                 ///   The assembly where the type is defined.
26                 /// </summary>
27                 public abstract Assembly Assembly {
28                         get;
29                 }
30
31                 /// <summary>
32                 ///   Gets the fully qualified name for the type including the
33                 ///   assembly name where the type is defined.
34                 /// </summary>
35                 public abstract string AssemblyQualifiedName {
36                         get;
37                 }
38
39                 /// <summary>
40                 ///   Returns the Attributes associated with the type.
41                 /// </summary>
42                 public TypeAttributes Attributes {
43                         get {
44                                 // FIXME: Implement me.
45                                 return 0;
46                         }
47                 }
48                 
49                 /// <summary>
50                 ///   Returns the basetype for this type
51                 /// </summary>
52                 public abstract Type BaseType {
53                         get;
54                 }
55                         
56                 /// <summary>
57                 ///   Returns the class that declares the member.
58                 /// </summary>
59                 public override Type DeclaringType {
60                         get {
61                                 // FIXME: Implement me.
62                                 return null;
63                         }
64                 }
65                 
66                 /// <summary>
67                 ///
68                 /// </summary>
69                 // public static Binder DefaultBinder {
70                 // get;
71                 // }
72                 
73                 /// <summary>
74                 ///
75                 /// </summary>
76                 
77                 /// <summary>
78                 ///
79                 /// </summary>
80                 /// <summary>
81                 ///
82                 /// </summary>
83
84                 /// <summary>
85                 ///    The full name of the type including its namespace
86                 /// </summary>
87                 public abstract string FullName {
88                         get;
89                 }
90
91                 public static Type GetType(string typeName) {
92                         return null;
93                 }
94
95
96                 public Type GetTypeFromHandle (RuntimeTypeHandle handle) { 
97                         
98                         // FIXME: implement me
99                         
100                         return null;
101                 }
102
103                 public bool IsValueType {
104                         get {
105                                 // FIXME
106                                 return(false);
107                         }
108                 }
109                 
110         }
111 }