2 // System.Runtime.InteropServices._Type interface
5 // Kazuki Oikawa (kazuki@panicode.com)
9 using System.Globalization;
10 using System.Reflection;
12 namespace System.Runtime.InteropServices
14 [CLSCompliant (false)]
15 [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
16 [Guid ("BCA8B44D-AAD6-3A86-8AB7-03349F4F2DA2")]
17 [TypeLibImportClass (typeof (Type))]
19 public interface _Type
21 bool Equals (object other);
25 Type[] FindInterfaces (TypeFilter filter, object filterCriteria);
27 MemberInfo[] FindMembers (MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria);
31 ConstructorInfo GetConstructor (Type[] types);
33 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
35 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
37 ConstructorInfo[] GetConstructors ();
39 ConstructorInfo[] GetConstructors (BindingFlags bindingAttr);
41 object[] GetCustomAttributes (bool inherit);
43 object[] GetCustomAttributes (Type attributeType, bool inherit);
45 MemberInfo[] GetDefaultMembers ();
47 Type GetElementType ();
49 EventInfo GetEvent (string name);
51 EventInfo GetEvent (string name, BindingFlags bindingAttr);
53 EventInfo[] GetEvents ();
55 EventInfo[] GetEvents (BindingFlags bindingAttr);
57 FieldInfo GetField (string name);
59 FieldInfo GetField (string name, BindingFlags bindingAttr);
61 FieldInfo[] GetFields ();
63 FieldInfo[] GetFields (BindingFlags bindingAttr);
67 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
69 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
71 void GetTypeInfoCount (out uint pcTInfo);
73 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
74 IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
76 Type GetInterface (string name);
78 Type GetInterface (string name, bool ignoreCase);
80 InterfaceMapping GetInterfaceMap (Type interfaceType);
82 Type[] GetInterfaces ();
84 MemberInfo[] GetMember (string name);
86 MemberInfo[] GetMember (string name, MemberTypes type, BindingFlags bindingAttr);
88 MemberInfo[] GetMember (string name, BindingFlags bindingAttr);
90 MemberInfo[] GetMembers ();
92 MemberInfo[] GetMembers (BindingFlags bindingAttr);
94 MethodInfo GetMethod (string name);
96 MethodInfo GetMethod (string name, BindingFlags bindingAttr);
98 MethodInfo GetMethod (string name, Type[] types);
100 MethodInfo GetMethod (string name, Type[] types, ParameterModifier[] modifiers);
102 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
104 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
106 MethodInfo[] GetMethods ();
108 MethodInfo[] GetMethods (BindingFlags bindingAttr);
110 Type GetNestedType (string name);
112 Type GetNestedType (string name, BindingFlags bindingAttr);
114 Type[] GetNestedTypes ();
116 Type[] GetNestedTypes (BindingFlags bindingAttr);
118 PropertyInfo[] GetProperties ();
120 PropertyInfo[] GetProperties (BindingFlags bindingAttr);
122 PropertyInfo GetProperty (string name);
124 PropertyInfo GetProperty (string name, BindingFlags bindingAttr);
126 PropertyInfo GetProperty (string name, Type returnType);
128 PropertyInfo GetProperty (string name, Type[] types);
130 PropertyInfo GetProperty (string name, Type returnType, Type[] types);
132 PropertyInfo GetProperty (string name, Type returnType, Type[] types, ParameterModifier[] modifiers);
134 PropertyInfo GetProperty (string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
138 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);
140 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);
142 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
144 bool IsAssignableFrom (Type c);
146 bool IsDefined (Type attributeType, bool inherit);
148 bool IsInstanceOfType (object o);
150 bool IsSubclassOf (Type c);
154 Assembly Assembly {get;}
156 string AssemblyQualifiedName {get;}
158 TypeAttributes Attributes {get;}
162 Type DeclaringType {get;}
164 string FullName {get;}
168 bool HasElementType {get;}
170 bool IsAbstract {get;}
172 bool IsAnsiClass {get;}
176 bool IsAutoClass {get;}
178 bool IsAutoLayout {get;}
184 bool IsCOMObject {get;}
186 bool IsContextful {get;}
190 bool IsExplicitLayout {get;}
194 bool IsInterface {get;}
196 bool IsLayoutSequential {get;}
198 bool IsMarshalByRef {get;}
200 bool IsNestedAssembly {get;}
202 bool IsNestedFamANDAssem {get;}
204 bool IsNestedFamily {get;}
206 bool IsNestedFamORAssem {get;}
208 bool IsNestedPrivate {get;}
210 bool IsNestedPublic {get;}
212 bool IsNotPublic {get;}
214 bool IsPointer {get;}
216 bool IsPrimitive {get;}
222 bool IsSerializable {get;}
224 bool IsSpecialName {get;}
226 bool IsUnicodeClass {get;}
228 bool IsValueType {get;}
230 MemberTypes MemberType {get;}
236 string Namespace {get;}
238 Type ReflectedType {get;}
240 RuntimeTypeHandle TypeHandle {get;}
242 ConstructorInfo TypeInitializer {get;}
244 Type UnderlyingSystemType {get;}