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))]
23 public interface _Type
25 bool Equals (object other);
29 Type[] FindInterfaces (TypeFilter filter, object filterCriteria);
31 MemberInfo[] FindMembers (MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria);
35 ConstructorInfo GetConstructor (Type[] types);
37 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
39 ConstructorInfo GetConstructor (BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
41 ConstructorInfo[] GetConstructors ();
43 ConstructorInfo[] GetConstructors (BindingFlags bindingAttr);
45 object[] GetCustomAttributes (bool inherit);
47 object[] GetCustomAttributes (Type attributeType, bool inherit);
49 MemberInfo[] GetDefaultMembers ();
51 Type GetElementType ();
53 EventInfo GetEvent (string name);
55 EventInfo GetEvent (string name, BindingFlags bindingAttr);
57 EventInfo[] GetEvents ();
59 EventInfo[] GetEvents (BindingFlags bindingAttr);
61 FieldInfo GetField (string name);
63 FieldInfo GetField (string name, BindingFlags bindingAttr);
65 FieldInfo[] GetFields ();
67 FieldInfo[] GetFields (BindingFlags bindingAttr);
71 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
73 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
75 void GetTypeInfoCount (out uint pcTInfo);
77 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
78 IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
80 Type GetInterface (string name);
82 Type GetInterface (string name, bool ignoreCase);
84 InterfaceMapping GetInterfaceMap (Type interfaceType);
86 Type[] GetInterfaces ();
88 MemberInfo[] GetMember (string name);
90 MemberInfo[] GetMember (string name, MemberTypes type, BindingFlags bindingAttr);
92 MemberInfo[] GetMember (string name, BindingFlags bindingAttr);
94 MemberInfo[] GetMembers ();
96 MemberInfo[] GetMembers (BindingFlags bindingAttr);
98 MethodInfo GetMethod (string name);
100 MethodInfo GetMethod (string name, BindingFlags bindingAttr);
102 MethodInfo GetMethod (string name, Type[] types);
104 MethodInfo GetMethod (string name, Type[] types, ParameterModifier[] modifiers);
106 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
108 MethodInfo GetMethod (string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
110 MethodInfo[] GetMethods ();
112 MethodInfo[] GetMethods (BindingFlags bindingAttr);
114 Type GetNestedType (string name);
116 Type GetNestedType (string name, BindingFlags bindingAttr);
118 Type[] GetNestedTypes ();
120 Type[] GetNestedTypes (BindingFlags bindingAttr);
122 PropertyInfo[] GetProperties ();
124 PropertyInfo[] GetProperties (BindingFlags bindingAttr);
126 PropertyInfo GetProperty (string name);
128 PropertyInfo GetProperty (string name, BindingFlags bindingAttr);
130 PropertyInfo GetProperty (string name, Type returnType);
132 PropertyInfo GetProperty (string name, Type[] types);
134 PropertyInfo GetProperty (string name, Type returnType, Type[] types);
136 PropertyInfo GetProperty (string name, Type returnType, Type[] types, ParameterModifier[] modifiers);
138 PropertyInfo GetProperty (string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
142 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);
144 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);
146 object InvokeMember (string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
148 bool IsAssignableFrom (Type c);
150 bool IsDefined (Type attributeType, bool inherit);
152 bool IsInstanceOfType (object o);
154 bool IsSubclassOf (Type c);
158 Assembly Assembly {get;}
160 string AssemblyQualifiedName {get;}
162 TypeAttributes Attributes {get;}
166 Type DeclaringType {get;}
168 string FullName {get;}
172 bool HasElementType {get;}
174 bool IsAbstract {get;}
176 bool IsAnsiClass {get;}
180 bool IsAutoClass {get;}
182 bool IsAutoLayout {get;}
188 bool IsCOMObject {get;}
190 bool IsContextful {get;}
194 bool IsExplicitLayout {get;}
198 bool IsInterface {get;}
200 bool IsLayoutSequential {get;}
202 bool IsMarshalByRef {get;}
204 bool IsNestedAssembly {get;}
206 bool IsNestedFamANDAssem {get;}
208 bool IsNestedFamily {get;}
210 bool IsNestedFamORAssem {get;}
212 bool IsNestedPrivate {get;}
214 bool IsNestedPublic {get;}
216 bool IsNotPublic {get;}
218 bool IsPointer {get;}
220 bool IsPrimitive {get;}
226 bool IsSerializable {get;}
228 bool IsSpecialName {get;}
230 bool IsUnicodeClass {get;}
232 bool IsValueType {get;}
234 MemberTypes MemberType {get;}
240 string Namespace {get;}
242 Type ReflectedType {get;}
244 RuntimeTypeHandle TypeHandle {get;}
246 ConstructorInfo TypeInitializer {get;}
248 Type UnderlyingSystemType {get;}