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