2 // System.Runtime.InteropServices._Type interface
5 // Kazuki Oikawa (kazuki@panicode.com)
11 using System.Globalization;
12 using System.Reflection;
14 namespace System.Runtime.InteropServices
16 [CLSCompliant (false)]
17 [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
18 [Guid ("BCA8B44D-AAD6-3A86-8AB7-03349F4F2DA2")]
19 [TypeLibImportClass (typeof (Type))]
20 public interface _Type
22 bool Equals (object o);
26 Type[] FindInterfaces (TypeFilter filter, object filterCriteria);
28 MemberInfo[] FindMembers (MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria);
32 ConstructorInfo GetConstructor (Type[] types);
34 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
36 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
38 ConstructorInfo[] GetConstructors ();
40 ConstructorInfo[] GetConstructors (BindingFlags bindingAttr);
42 object[] GetCustomAttributes (bool inherit);
44 object[] GetCustomAttributes (Type attributeType, bool inherit);
46 MemberInfo[] GetDefaultMembers ();
48 Type GetElementType ();
50 EventInfo GetEvent (string name);
52 EventInfo GetEvent (string name, BindingFlags bindingAttr);
54 EventInfo[] GetEvents ();
56 EventInfo[] GetEvents (BindingFlags bindingAttr);
58 FieldInfo GetField (string name);
60 FieldInfo GetField (string name, BindingFlags bindingAttr);
62 FieldInfo[] GetFields ();
64 FieldInfo[] GetFields (BindingFlags bindingAttr);
68 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
70 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
72 void GetTypeInfoCount (out uint pcTInfo);
74 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
75 IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
77 Type GetInterface (string name);
79 Type GetInterface (string name, bool ignoreCase);
81 InterfaceMapping GetInterfaceMap (Type interfaceType);
83 Type[] GetInterfaces ();
85 MemberInfo[] GetMember (string name);
87 MemberInfo[] GetMember (string name, MemberTypes type, BindingFlags bindingAttr);
89 MemberInfo[] GetMember (string name, BindingFlags bindingAttr);
91 MemberInfo[] GetMembers ();
93 MemberInfo[] GetMembers (BindingFlags bindingAttr);
95 MethodInfo GetMethod (string name);
97 MethodInfo GetMethod (string name, BindingFlags bindingAttr);
99 MethodInfo GetMethod (string name, Type[] types);
101 MethodInfo GetMethod (string name, Type[] types, ParameterModifier[] modifiers);
103 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
105 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
107 MethodInfo[] GetMethods ();
109 MethodInfo[] GetMethods (BindingFlags bindingAttr);
111 Type GetNestedType (string name);
113 Type GetNestedType (string name, BindingFlags bindingAttr);
115 Type[] GetNestedTypes ();
117 Type[] GetNestedTypes (BindingFlags bindingAttr);
119 PropertyInfo[] GetProperties ();
121 PropertyInfo[] GetProperties (BindingFlags bindingAttr);
123 PropertyInfo GetProperty (string name);
125 PropertyInfo GetProperty (string name, BindingFlags bindingAttr);
127 PropertyInfo GetProperty (string name, Type returnType);
129 PropertyInfo GetProperty (string name, Type[] types);
131 PropertyInfo GetProperty (string name, Type returnType, Type[] types);
133 PropertyInfo GetProperty (string name, Type returnType, Type[] types, ParameterModifier[] modifiers);
135 PropertyInfo GetProperty (string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
139 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);
141 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);
143 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
145 bool IsAssignableFrom (Type c);
147 bool IsDefined (Type attributeType, bool inherit);
149 bool IsInstanceOfType (object o);
151 bool IsSubclassOf (Type c);
155 Assembly Assembly {get;}
157 string AssemblyQualifiedName {get;}
159 TypeAttributes Attributes {get;}
163 Type DeclaringType {get;}
165 string FullName {get;}
169 bool HasElementType {get;}
171 bool IsAbstract {get;}
173 bool IsAnsiClass {get;}
177 bool IsAutoClass {get;}
179 bool IsAutoLayout {get;}
185 bool IsCOMObject {get;}
187 bool IsContextful {get;}
191 bool IsExplicitLayout {get;}
195 bool IsInterface {get;}
197 bool IsLayoutSequential {get;}
199 bool IsMarshalByRef {get;}
201 bool IsNestedAssembly {get;}
203 bool IsNestedFamANDAssem {get;}
205 bool IsNestedFamily {get;}
207 bool IsNestedFamORAssem {get;}
209 bool IsNestedPrivate {get;}
211 bool IsNestedPublic {get;}
213 bool IsNotPublic {get;}
215 bool IsPointer {get;}
217 bool IsPrimitive {get;}
223 bool IsSerializable {get;}
225 bool IsSpecialName {get;}
227 bool IsUnicodeClass {get;}
229 bool IsValueType {get;}
231 MemberTypes MemberType {get;}
237 string Namespace {get;}
239 Type ReflectedType {get;}
241 RuntimeTypeHandle TypeHandle {get;}
243 ConstructorInfo TypeInitializer {get;}
245 Type UnderlyingSystemType {get;}