using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace System.Reflection
{
/// Obtains information about the attributes of a member and provides access to member metadata.
// Token: 0x02000034 RID: 52
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
[ComDefaultInterface(typeof(_MemberInfo))]
[Serializable]
public abstract class MemberInfo : ICustomAttributeProvider, _MemberInfo
{
/// Maps a set of names to a corresponding set of dispatch identifiers.
/// Reserved for future use. Must be IID_NULL.
/// Passed-in array of names to be mapped.
/// Count of the names to be mapped.
/// The locale context in which to interpret the names.
/// Caller-allocated array which receives the IDs corresponding to the names.
/// The method is called late-bound using the COM IDispatch interface.
// Token: 0x06000577 RID: 1399 RVA: 0x00013E24 File Offset: 0x00012024
void _MemberInfo.GetIDsOfNames([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
{
throw new NotImplementedException();
}
/// Retrieves the type information for an object, which can then be used to get the type information for an interface.
/// The type information to return.
/// The locale identifier for the type information.
/// Receives a pointer to the requested type information object.
/// The method is called late-bound using the COM IDispatch interface.
// Token: 0x06000578 RID: 1400 RVA: 0x00013E2C File Offset: 0x0001202C
void _MemberInfo.GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo)
{
throw new NotImplementedException();
}
/// Retrieves the number of type information interfaces that an object provides (either 0 or 1).
/// Points to a location that receives the number of type information interfaces provided by the object.
/// The method is called late-bound using the COM IDispatch interface.
// Token: 0x06000579 RID: 1401 RVA: 0x00013E34 File Offset: 0x00012034
void _MemberInfo.GetTypeInfoCount(out uint pcTInfo)
{
throw new NotImplementedException();
}
/// Provides access to properties and methods exposed by an object.
/// Identifies 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.
/// 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.
/// Pointer to the location where the result is to be stored.
/// Pointer to a structure that contains exception information.
/// The index of the first argument that has an error.
/// The method is called late-bound using the COM IDispatch interface.
// Token: 0x0600057A RID: 1402 RVA: 0x00013E3C File Offset: 0x0001203C
void _MemberInfo.Invoke(uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr)
{
throw new NotImplementedException();
}
/// Gets the class that declares this member.
/// The Type object for the class that declares this member.
// Token: 0x17000062 RID: 98
// (get) Token: 0x0600057B RID: 1403
public abstract Type DeclaringType { get; }
/// When overridden in a derived class, gets a value indicating the type of the member — method, constructor, event, and so on.
/// A value indicating the type of member.
// Token: 0x17000063 RID: 99
// (get) Token: 0x0600057C RID: 1404
public abstract MemberTypes MemberType { get; }
/// Gets the name of the current member.
/// A containing the name of this member.
// Token: 0x17000064 RID: 100
// (get) Token: 0x0600057D RID: 1405
public abstract string Name { get; }
/// Gets the class object that was used to obtain this instance of MemberInfo.
/// The Type object through which this MemberInfo object was obtained.
// Token: 0x17000065 RID: 101
// (get) Token: 0x0600057E RID: 1406
public abstract Type ReflectedType { get; }
/// Gets the module in which the type that declares the member represented by the current is defined.
/// The in which the type that declares the member represented by the current is defined.
/// This method is not implemented.
// Token: 0x17000066 RID: 102
// (get) Token: 0x0600057F RID: 1407 RVA: 0x00013E44 File Offset: 0x00012044
public virtual Module Module
{
get
{
return this.DeclaringType.Module;
}
}
/// When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member.
/// true if one or more instances of or any of its derived types is applied to this member; otherwise, false.
/// The type of custom attribute to search for. The search includes derived types.
/// true to search this member's inheritance chain to find the attributes; otherwise, false. This parameter is ignored for properties and events; see Remarks.
// Token: 0x06000580 RID: 1408
public abstract bool IsDefined(Type attributeType, bool inherit);
/// When overridden in a derived class, returns an array of all custom attributes applied to this member.
/// An array that contains all the custom attributes applied to this member, or an array with zero elements if no attributes are defined.
/// true to search this member's inheritance chain to find the attributes; otherwise, false. This parameter is ignored for properties and events; see Remarks.
/// This member belongs to a type that is loaded into the reflection-only context. See How to: Load Assemblies into the Reflection-Only Context.
/// A custom attribute type could not be loaded.
// Token: 0x06000581 RID: 1409
public abstract object[] GetCustomAttributes(bool inherit);
/// When overridden in a derived class, returns an array of custom attributes applied to this member and identified by .
/// An array of custom attributes applied to this member, or an array with zero elements if no attributes assignable to 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. This parameter is ignored for properties and events; see Remarks.
/// A custom attribute type could not be loaded.
/// If is null.
/// This member belongs to a type that is loaded into the reflection-only context. See How to: Load Assemblies into the Reflection-Only Context.
// Token: 0x06000582 RID: 1410
public abstract object[] GetCustomAttributes(Type attributeType, bool inherit);
/// Gets a value that identifies a metadata element.
/// A value which, in combination with , uniquely identifies a metadata element.
/// The current represents an array method, such as Address, on an array type whose element type is a dynamic type that has not been completed. To get a metadata token in this case, pass the object to the method; or use the method to get the token directly, instead of using the method to get a first.
// Token: 0x17000067 RID: 103
// (get) Token: 0x06000583 RID: 1411
public virtual extern int MetadataToken
{
[MethodImpl(MethodImplOptions.InternalCall)]
get;
}
/// Gets a object representing the class.
/// A object representing the class.
// Token: 0x06000584 RID: 1412 RVA: 0x00013E54 File Offset: 0x00012054
virtual Type System.Runtime.InteropServices._MemberInfo.GetType()
{
return base.GetType();
}
}
}