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