2008-12-08 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _Type.cs
1 //
2 // System.Runtime.InteropServices._Type interface
3 //
4 // Author:
5 //   Kazuki Oikawa  (kazuki@panicode.com)
6 //
7
8 #if NET_1_1
9
10 using System;
11 using System.Globalization;
12 using System.Reflection;
13
14 namespace System.Runtime.InteropServices
15 {
16         [CLSCompliant (false)]
17         [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
18         [Guid ("BCA8B44D-AAD6-3A86-8AB7-03349F4F2DA2")]
19         [TypeLibImportClass (typeof (Type))]
20 #if NET_2_0
21         [ComVisible (true)]
22 #endif
23         public interface _Type
24         {
25                 bool Equals (object other);
26
27                 bool Equals (Type o);
28
29                 Type[] FindInterfaces (TypeFilter filter, object filterCriteria);
30
31                 MemberInfo[] FindMembers (MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria);
32
33                 int GetArrayRank ();
34
35                 ConstructorInfo GetConstructor (Type[] types);
36
37                 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
38
39                 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
40
41                 ConstructorInfo[] GetConstructors ();
42
43                 ConstructorInfo[] GetConstructors (BindingFlags bindingAttr);
44
45                 object[] GetCustomAttributes (bool inherit);
46
47                 object[] GetCustomAttributes (Type attributeType, bool inherit);
48
49                 MemberInfo[] GetDefaultMembers ();
50
51                 Type GetElementType ();
52
53                 EventInfo GetEvent (string name);
54
55                 EventInfo GetEvent (string name, BindingFlags bindingAttr);
56
57                 EventInfo[] GetEvents ();
58
59                 EventInfo[] GetEvents (BindingFlags bindingAttr);
60
61                 FieldInfo GetField (string name);
62
63                 FieldInfo GetField (string name, BindingFlags bindingAttr);
64
65                 FieldInfo[] GetFields ();
66
67                 FieldInfo[] GetFields (BindingFlags bindingAttr);
68
69                 int GetHashCode ();
70
71                 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
72
73                 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
74
75                 void GetTypeInfoCount (out uint pcTInfo);
76
77                 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
78                         IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
79
80                 Type GetInterface (string name);
81
82                 Type GetInterface (string name, bool ignoreCase);
83
84                 InterfaceMapping GetInterfaceMap (Type interfaceType);
85
86                 Type[] GetInterfaces ();
87
88                 MemberInfo[] GetMember (string name);
89
90                 MemberInfo[] GetMember (string name, MemberTypes type, BindingFlags bindingAttr);
91
92                 MemberInfo[] GetMember (string name, BindingFlags bindingAttr);
93
94                 MemberInfo[] GetMembers ();
95
96                 MemberInfo[] GetMembers (BindingFlags bindingAttr);
97
98                 MethodInfo GetMethod (string name);
99
100                 MethodInfo GetMethod (string name, BindingFlags bindingAttr);
101
102                 MethodInfo GetMethod (string name, Type[] types);
103
104                 MethodInfo GetMethod (string name, Type[] types, ParameterModifier[] modifiers);
105
106                 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
107
108                 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
109
110                 MethodInfo[] GetMethods ();
111
112                 MethodInfo[] GetMethods (BindingFlags bindingAttr);
113
114                 Type GetNestedType (string name);
115
116                 Type GetNestedType (string name, BindingFlags bindingAttr);
117
118                 Type[] GetNestedTypes ();
119
120                 Type[] GetNestedTypes (BindingFlags bindingAttr);
121
122                 PropertyInfo[] GetProperties ();
123
124                 PropertyInfo[] GetProperties (BindingFlags bindingAttr);
125
126                 PropertyInfo GetProperty (string name);
127
128                 PropertyInfo GetProperty (string name, BindingFlags bindingAttr);
129
130                 PropertyInfo GetProperty (string name, Type returnType);
131
132                 PropertyInfo GetProperty (string name, Type[] types);
133
134                 PropertyInfo GetProperty (string name, Type returnType, Type[] types);
135
136                 PropertyInfo GetProperty (string name, Type returnType, Type[] types, ParameterModifier[] modifiers);
137
138                 PropertyInfo GetProperty (string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
139
140                 Type GetType ();
141
142                 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);
143
144                 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);
145
146                 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
147
148                 bool IsAssignableFrom (Type c);
149
150                 bool IsDefined (Type attributeType, bool inherit);
151
152                 bool IsInstanceOfType (object o);
153
154                 bool IsSubclassOf (Type c);
155
156                 string ToString ();
157
158                 Assembly Assembly {get;}
159
160                 string AssemblyQualifiedName {get;}
161
162                 TypeAttributes Attributes {get;}
163
164                 Type BaseType {get;}
165
166                 Type DeclaringType {get;}
167
168                 string FullName {get;}
169
170                 Guid GUID {get;}
171
172                 bool HasElementType {get;}
173
174                 bool IsAbstract {get;}
175
176                 bool IsAnsiClass {get;}
177
178                 bool IsArray {get;}
179
180                 bool IsAutoClass {get;}
181
182                 bool IsAutoLayout {get;}
183
184                 bool IsByRef {get;}
185
186                 bool IsClass {get;}
187
188                 bool IsCOMObject {get;}
189
190                 bool IsContextful {get;}
191
192                 bool IsEnum {get;}
193
194                 bool IsExplicitLayout {get;}
195
196                 bool IsImport {get;}
197
198                 bool IsInterface {get;}
199
200                 bool IsLayoutSequential {get;}
201
202                 bool IsMarshalByRef {get;}
203
204                 bool IsNestedAssembly {get;}
205
206                 bool IsNestedFamANDAssem {get;}
207
208                 bool IsNestedFamily {get;}
209
210                 bool IsNestedFamORAssem {get;}
211
212                 bool IsNestedPrivate {get;}
213
214                 bool IsNestedPublic {get;}
215
216                 bool IsNotPublic {get;}
217
218                 bool IsPointer {get;}
219
220                 bool IsPrimitive {get;}
221
222                 bool IsPublic {get;}
223
224                 bool IsSealed {get;}
225
226                 bool IsSerializable {get;}
227
228                 bool IsSpecialName {get;}
229
230                 bool IsUnicodeClass {get;}
231
232                 bool IsValueType {get;}
233
234                 MemberTypes MemberType {get;}
235
236                 Module Module {get;}
237
238                 string Name {get;}
239
240                 string Namespace {get;}
241
242                 Type ReflectedType {get;}
243
244                 RuntimeTypeHandle TypeHandle {get;}
245
246                 ConstructorInfo TypeInitializer {get;}
247
248                 Type UnderlyingSystemType {get;}
249         }
250 }
251 #endif