using System; using System.Globalization; using System.Runtime.InteropServices; namespace System.Reflection { /// Interoperates with the IDispatch interface. // Token: 0x02000037 RID: 55 [Guid("AFBF15E5-C37C-11d2-B88E-00A0C9B471B8")] [ComVisible(true)] public interface IReflect { /// Gets the underlying type that represents the object. /// The underlying type that represents the object. // Token: 0x1700006C RID: 108 // (get) Token: 0x06000597 RID: 1431 Type UnderlyingSystemType { get; } /// Returns the object that corresponds to the specified field and binding flag. /// A object containing the field information for the named object that meets the search constraints specified in . /// The name of the field to find. /// The binding attributes used to control the search. /// The object implements multiple fields with the same name. // Token: 0x06000598 RID: 1432 FieldInfo GetField(string name, BindingFlags bindingAttr); /// Returns an array of objects that correspond to all fields of the current class. /// An array of objects containing all the field information for this reflection object that meets the search constraints specified in . /// The binding attributes used to control the search. // Token: 0x06000599 RID: 1433 FieldInfo[] GetFields(BindingFlags bindingAttr); /// Retrieves an array of objects corresponding to all public members or to all members that match a specified name. /// An array of objects matching the parameter. /// The name of the member to find. /// The binding attributes used to control the search. // Token: 0x0600059A RID: 1434 MemberInfo[] GetMember(string name, BindingFlags bindingAttr); /// Retrieves an array of objects that correspond either to all public members or to all members of the current class. /// An array of objects containing all the member information for this reflection object. /// The binding attributes used to control the search. // Token: 0x0600059B RID: 1435 MemberInfo[] GetMembers(BindingFlags bindingAttr); /// Retrieves a object that corresponds to a specified method under specified search constraints. /// A object containing the method information, with the match being based on the method name and search constraints specified in . /// The name of the member to find. /// The binding attributes used to control the search. /// The object implements multiple methods with the same name. // Token: 0x0600059C RID: 1436 MethodInfo GetMethod(string name, BindingFlags bindingAttr); /// Retrieves a object corresponding to a specified method, using a array to choose from among overloaded methods. /// The requested method that matches all the specified parameters. /// The name of the member to find. /// The binding attributes used to control the search. /// An object that implements , containing properties related to this method. /// An array used to choose among overloaded methods. /// An array of parameter modifiers used to make binding work with parameter signatures in which the types have been modified. /// The object implements multiple methods with the same name. // Token: 0x0600059D RID: 1437 MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers); /// Retrieves an array of objects with all public methods or all methods of the current class. /// An array of objects containing all the methods defined for this reflection object that meet the search constraints specified in . /// The binding attributes used to control the search. // Token: 0x0600059E RID: 1438 MethodInfo[] GetMethods(BindingFlags bindingAttr); /// Retrieves an array of objects corresponding to all public properties or to all properties of the current class. /// An array of objects for all the properties defined on the reflection object. /// The binding attribute used to control the search. // Token: 0x0600059F RID: 1439 PropertyInfo[] GetProperties(BindingFlags bindingAttr); /// Retrieves a object corresponding to a specified property under specified search constraints. /// A object for the located property that meets the search constraints specified in , or null if the property was not located. /// The name of the property to find. /// The binding attributes used to control the search. /// The object implements multiple fields with the same name. // Token: 0x060005A0 RID: 1440 PropertyInfo GetProperty(string name, BindingFlags bindingAttr); /// Retrieves a object that corresponds to a specified property with specified search constraints. /// A object for the located property, if a property with the specified name was located in this reflection object, or null if the property was not located. /// The name of the member to find. /// The binding attribute used to control the search. /// An object that implements , containing properties related to this method. /// The type of the property. /// An array used to choose among overloaded methods with the same name. /// An array used to choose the parameter modifiers. // Token: 0x060005A1 RID: 1441 PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers); /// Invokes a specified member. /// The specified member. /// The name of the member to find. /// One of the invocation attributes. The parameter may be a constructor, method, property, or field. A suitable invocation attribute must be specified. Invoke the default member of a class by passing the empty string ("") as the name of the member. /// One of the bit flags. Implements , containing properties related to this method. /// The object on which to invoke the specified member. This parameter is ignored for static members. /// An array of objects that contains the number, order, and type of the parameters of the member to be invoked. This is an empty array if there are no parameters. /// An array of objects. This array has the same length as the parameter, representing the invoked member's argument attributes in the metadata. A parameter can have the following attributes: pdIn, pdOut, pdRetval, pdOptional, and pdHasDefault. These represent [In], [Out], [retval], [optional], and a default parameter, respectively. These attributes are used by various interoperability services. /// An instance of used to govern the coercion of types. For example, converts a String that represents 1000 to a Double value, since 1000 is represented differently by different cultures. If this parameter is null, the for the current thread is used. /// A String array of parameters. /// /// is and another bit flag is also set. /// /// is not and is null. /// /// is not an invocation attribute from . /// /// specifies both get and set for a property or field. /// /// specifies both a field set and an Invoke method. are provided for a field get. /// More than one argument is specified for a field set. /// The field or property cannot be found. /// The method cannot be found. /// A private member is invoked without the necessary . // Token: 0x060005A2 RID: 1442 object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters); } }