using System;
using System.Globalization;
using System.Reflection;
namespace System.Runtime.InteropServices
{
/// Exposes the public members of the class to unmanaged code.
// Token: 0x02000378 RID: 888
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[CLSCompliant(false)]
[Guid("FFCC1B5D-ECB8-38DD-9B01-3DC8ABC2AA5F")]
[TypeLibImportClass(typeof(MethodInfo))]
[ComVisible(true)]
public interface _MethodInfo
{
/// Provides COM objects with version-independent access to the method.
/// true if the specified is equal to the current ; otherwise, false.
/// The to compare with the current .
// Token: 0x0600248A RID: 9354
bool Equals(object other);
/// Provides COM objects with version-independent access to the method.
/// A object for the first implementation of this method.
// Token: 0x0600248B RID: 9355
MethodInfo GetBaseDefinition();
/// Provides COM objects with version-independent access to the method.
/// An array that contains all the custom attributes, or an array with zero (0) elements if no attributes are defined.
/// true to search this member's inheritance chain to find the attributes; otherwise, false.
// Token: 0x0600248C RID: 9356
object[] GetCustomAttributes(bool inherit);
/// Provides COM objects with version-independent access to the method.
/// An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied.
/// The type of attribute to search for. Only attributes that are assignable to this type are returned.
/// true to search this member's inheritance chain to find the attributes; otherwise, false.
// Token: 0x0600248D RID: 9357
object[] GetCustomAttributes(Type attributeType, bool inherit);
/// Provides COM objects with version-independent access to the method.
/// The hash code for the current instance.
// Token: 0x0600248E RID: 9358
int GetHashCode();
/// Provides COM objects with version-independent access to the method.
/// One of the values.
// Token: 0x0600248F RID: 9359
MethodImplAttributes GetMethodImplementationFlags();
/// Provides COM objects with version-independent access to the method.
/// An array of type containing information that matches the signature of the method (or constructor) reflected by this instance.
// Token: 0x06002490 RID: 9360
ParameterInfo[] GetParameters();
/// Maps a set of names to a corresponding set of dispatch identifiers.
/// Reserved for future use. Must be IID_NULL.
/// An array of names to be mapped.
/// The count of the names to be mapped.
/// The locale context in which to interpret the names.
/// An array allocated by the caller that receives the identifiers corresponding to the names.
// Token: 0x06002491 RID: 9361
void GetIDsOfNames([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
/// Retrieves the type information for an object, which can be used to get the type information for an interface.
/// The type information to return.
/// The locale identifier for the type information.
/// A pointer to the requested type information object.
// Token: 0x06002492 RID: 9362
void GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo);
/// Retrieves the number of type information interfaces that an object provides (either 0 or 1).
/// When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized.
// Token: 0x06002493 RID: 9363
void GetTypeInfoCount(out uint pcTInfo);
/// Provides access to properties and methods exposed by an object.
/// An identifier for the member.
/// Reserved for future use. Must be IID_NULL.
/// The locale context in which to interpret arguments.
/// Flags describing the context of the call.
/// A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays.
/// A pointer to the location where the result will be stored.
/// A pointer to a structure that contains exception information.
/// The index of the first argument that has an error.
// Token: 0x06002494 RID: 9364
void Invoke(uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
/// Provides COM objects with version-independent access to the method.
/// A object.
// Token: 0x06002495 RID: 9365
Type GetType();
/// Provides COM objects with version-independent access to the method.
/// An instance of the class associated with the constructor.
/// The instance that created this method.
/// An argument list for the invoked method or constructor. This is an array of objects with the same number, order, and type as the parameters of the method or constructor to be invoked. If there are no parameters, should be null.If the method or constructor represented by this instance takes a ref parameter (ByRef in Visual Basic), no special attribute is required for that parameter to invoke the method or constructor using this function. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference type elements, this value is null. For value type elements, this value is 0, 0.0, or false, depending on the specific element type.
// Token: 0x06002496 RID: 9366
object Invoke(object obj, object[] parameters);
/// Provides COM objects with version-independent access to the method.
/// An instance of the class associated with the constructor.
/// The instance that created this method.
/// One of the BindingFlags values that specifies the type of binding.
/// A Binder that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is null, then Binder.DefaultBinding is used.
/// An array of type Object used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference type elements, this value is null. For value type elements, this value is 0, 0.0, or false, depending on the specific element type.
/// A object used to govern the coercion of types. If this is null, the for the current thread is used.
// Token: 0x06002497 RID: 9367
object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture);
/// Provides COM objects with version-independent access to the method.
/// true if one or more instance of the parameter is applied to this member; otherwise, false.
/// The Type object to which the custom attributes are applied.
/// true to search this member's inheritance chain to find the attributes; otherwise, false.
// Token: 0x06002498 RID: 9368
bool IsDefined(Type attributeType, bool inherit);
/// Provides COM objects with version-independent access to the method.
/// A string that represents the current .
// Token: 0x06002499 RID: 9369
string ToString();
/// Provides COM objects with version-independent access to the property.
/// One of the values.
// Token: 0x170006AC RID: 1708
// (get) Token: 0x0600249A RID: 9370
MethodAttributes Attributes { get; }
/// Provides COM objects with version-independent access to the property.
/// One of the values.
// Token: 0x170006AD RID: 1709
// (get) Token: 0x0600249B RID: 9371
CallingConventions CallingConvention { get; }
/// Provides COM objects with version-independent access to the property.
/// The Type object for the class that declares this member.
// Token: 0x170006AE RID: 1710
// (get) Token: 0x0600249C RID: 9372
Type DeclaringType { get; }
/// Provides COM objects with version-independent access to the property.
/// true if the method is abstract; otherwise, false.
// Token: 0x170006AF RID: 1711
// (get) Token: 0x0600249D RID: 9373
bool IsAbstract { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method can be called by other classes in the same assembly; otherwise, false.
// Token: 0x170006B0 RID: 1712
// (get) Token: 0x0600249E RID: 9374
bool IsAssembly { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method is a constructor; otherwise, false.
// Token: 0x170006B1 RID: 1713
// (get) Token: 0x0600249F RID: 9375
bool IsConstructor { get; }
/// Provides COM objects with version-independent access to the property.
/// true if access to the class is restricted to members of the class itself and to members of its derived classes; otherwise, false.
// Token: 0x170006B2 RID: 1714
// (get) Token: 0x060024A0 RID: 9376
bool IsFamily { get; }
/// Provides COM objects with version-independent access to the property.
/// true if access to this method is restricted to members of the class itself and to members of derived classes that are in the same assembly; otherwise, false.
// Token: 0x170006B3 RID: 1715
// (get) Token: 0x060024A1 RID: 9377
bool IsFamilyAndAssembly { get; }
/// Provides COM objects with version-independent access to the property.
/// true if access to this method is restricted to members of the class itself, members of derived classes wherever they are, and members of other classes in the same assembly; otherwise, false.
// Token: 0x170006B4 RID: 1716
// (get) Token: 0x060024A2 RID: 9378
bool IsFamilyOrAssembly { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method is final; otherwise, false.
// Token: 0x170006B5 RID: 1717
// (get) Token: 0x060024A3 RID: 9379
bool IsFinal { get; }
/// Provides COM objects with version-independent access to the property.
/// true if the member is hidden by signature; otherwise, false.
// Token: 0x170006B6 RID: 1718
// (get) Token: 0x060024A4 RID: 9380
bool IsHideBySig { get; }
/// Provides COM objects with version-independent access to the property.
/// true if access to this method is restricted to other members of the class itself; otherwise, false.
// Token: 0x170006B7 RID: 1719
// (get) Token: 0x060024A5 RID: 9381
bool IsPrivate { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method is public; otherwise, false.
// Token: 0x170006B8 RID: 1720
// (get) Token: 0x060024A6 RID: 9382
bool IsPublic { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method has a special name; otherwise, false.
// Token: 0x170006B9 RID: 1721
// (get) Token: 0x060024A7 RID: 9383
bool IsSpecialName { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method is static; otherwise, false.
// Token: 0x170006BA RID: 1722
// (get) Token: 0x060024A8 RID: 9384
bool IsStatic { get; }
/// Provides COM objects with version-independent access to the property.
/// true if this method is virtual; otherwise, false.
// Token: 0x170006BB RID: 1723
// (get) Token: 0x060024A9 RID: 9385
bool IsVirtual { get; }
/// Provides COM objects with version-independent access to the property.
/// One of the values indicating the type of member.
// Token: 0x170006BC RID: 1724
// (get) Token: 0x060024AA RID: 9386
MemberTypes MemberType { get; }
/// Provides COM objects with version-independent access to the property.
/// A object.
// Token: 0x170006BD RID: 1725
// (get) Token: 0x060024AB RID: 9387
RuntimeMethodHandle MethodHandle { get; }
/// Provides COM objects with version-independent access to the property.
/// A object containing the name of this member.
// Token: 0x170006BE RID: 1726
// (get) Token: 0x060024AC RID: 9388
string Name { get; }
/// Provides COM objects with version-independent access to the property.
/// The Type object that was used to obtain this MemberInfo object.
// Token: 0x170006BF RID: 1727
// (get) Token: 0x060024AD RID: 9389
Type ReflectedType { get; }
/// Provides COM objects with version-independent access to the property.
/// The return type of this method.
// Token: 0x170006C0 RID: 1728
// (get) Token: 0x060024AE RID: 9390
Type ReturnType { get; }
/// Provides COM objects with version-independent access to the property.
/// An object representing the custom attributes for the return type.
// Token: 0x170006C1 RID: 1729
// (get) Token: 0x060024AF RID: 9391
ICustomAttributeProvider ReturnTypeCustomAttributes { get; }
}
}