Поделиться через


MethodInfo Класс

Определение

Обнаруживает атрибуты метода и предоставляет доступ к метаданным метода.

public ref class MethodInfo abstract : System::Reflection::MethodBase
public ref class MethodInfo abstract : System::Reflection::MethodBase, System::Runtime::InteropServices::_MethodInfo
public abstract class MethodInfo : System.Reflection.MethodBase
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class MethodInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._MethodInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class MethodInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._MethodInfo
type MethodInfo = class
    inherit MethodBase
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type MethodInfo = class
    inherit MethodBase
    interface _MethodInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodInfo = class
    inherit MethodBase
    interface _MethodInfo
Public MustInherit Class MethodInfo
Inherits MethodBase
Public MustInherit Class MethodInfo
Inherits MethodBase
Implements _MethodInfo
Наследование
Производный
Атрибуты
Реализации

Комментарии

Класс MethodInfo представляет метод типа. Объект можно использовать MethodInfo для получения сведений о методе, который представляет объект, и для вызова метода. Рассмотрим пример.

  • Видимость метода можно определить, извлекая значения свойств IsFamilyAndAssemblyIsFamilyOrAssemblyIsPrivate, и IsPublic свойства.

  • Вы можете узнать, какие атрибуты применяются к методу, извлекая значение Attributes свойства или вызывая GetCustomAttributes метод.

  • Вы можете определить, является ли метод универсальным, открытым универсальным методом или закрытым закрытым универсальным методом, извлекая значения IsGenericMethod и ContainsGenericParameters свойства.

  • Вы можете получить сведения о параметрах метода и типе возвращаемого GetParameters значения из метода, а также ReturnParameterReturnTypeсвойств и ReturnTypeCustomAttributes свойств.

  • Метод можно выполнить в экземпляре класса, вызвав Invoke метод.

  • Вы можете создать экземпляр MethodInfo объекта, представляющего созданный универсальный метод из одного, представляющего определение универсального метода, вызвав MakeGenericMethod метод.

Экземпляры можно создать MethodInfo , вызвав Type.GetMethods метод или Type.GetMethod метод, или вызвав MethodInfo.MakeGenericMethod метод объекта, представляющего определение универсального MethodInfo метода.

Список инвариантных условий терминов, относящихся к универсальным методам, см. в свойстве IsGenericMethod . Список инвариантных условий для других терминов, используемых в универсальном отражении, см. в свойстве IsGenericType .

Примечания для тех, кто реализует этот метод

При наследовании от MethodInfo, необходимо переопределить ReturnTypeGetCustomAttributes(Boolean)MethodHandleGetMethodImplementationFlags()AttributesGetParameters()Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)NameReturnTypeCustomAttributesGetBaseDefinition()DeclaringTypeReflectedTypeMemberTypeGetCustomAttributes(Type, Boolean), и .IsDefined(Type, Boolean)

Конструкторы

Имя Описание
MethodInfo()

Инициализирует новый экземпляр класса MethodInfo.

Свойства

Имя Описание
Attributes

Возвращает атрибуты, связанные с этим методом.

(Унаследовано от MethodBase)
CallingConvention

Возвращает значение, указывающее соглашения о вызовах для этого метода.

(Унаследовано от MethodBase)
ContainsGenericParameters

Возвращает значение, указывающее, содержит ли универсальный метод параметры неназначенных универсальных типов.

ContainsGenericParameters

Возвращает значение, указывающее, содержит ли универсальный метод параметры неназначенных универсальных типов.

(Унаследовано от MethodBase)
CustomAttributes

Возвращает коллекцию, содержащую настраиваемые атрибуты этого члена.

(Унаследовано от MemberInfo)
DeclaringType

Возвращает класс, объявляющий этот член.

(Унаследовано от MemberInfo)
IsAbstract

Возвращает значение, указывающее, является ли метод абстрактным.

(Унаследовано от MethodBase)
IsAssembly

Получает значение, указывающее, описывается ли потенциальная видимость этого метода или конструктора Assembly; то есть метод или конструктор не отображается в большинстве других типов в той же сборке и не отображается производным типам за пределами сборки.

(Унаследовано от MethodBase)
IsCollectible

Возвращает значение, указывающее, ссылается ли этот MemberInfo объект на одну или несколько сборок, содержащихся в коллекционируемых AssemblyLoadContextобъектах.

(Унаследовано от MemberInfo)
IsConstructedGenericMethod

Обнаруживает атрибуты метода и предоставляет доступ к метаданным метода.

(Унаследовано от MethodBase)
IsConstructor

Возвращает значение, указывающее, является ли метод конструктором.

(Унаследовано от MethodBase)
IsFamily

Возвращает значение, указывающее, описывается Familyли видимость этого метода или конструктора; то есть метод или конструктор видим только в его классе и производных классах.

(Унаследовано от MethodBase)
IsFamilyAndAssembly

Возвращает значение, указывающее, описывается FamANDAssemли видимость этого метода или конструктора; то есть метод или конструктор можно вызывать производными классами, но только в том случае, если они находятся в одной сборке.

(Унаследовано от MethodBase)
IsFamilyOrAssembly

Получает значение, указывающее, описывается FamORAssemли потенциальная видимость этого метода или конструктора; то есть метод или конструктор можно вызывать производными классами, где бы они ни находились, и классами в одной сборке.

(Унаследовано от MethodBase)
IsFinal

Возвращает значение, указывающее, является finalли этот метод.

(Унаследовано от MethodBase)
IsGenericMethod

Возвращает значение, указывающее, является ли текущий метод универсальным методом.

IsGenericMethod

Возвращает значение, указывающее, является ли метод универсальным.

(Унаследовано от MethodBase)
IsGenericMethodDefinition

Возвращает значение, указывающее, представляет ли текущий MethodInfo определение универсального метода.

IsGenericMethodDefinition

Возвращает значение, указывающее, является ли метод определением универсального метода.

(Унаследовано от MethodBase)
IsHideBySig

Возвращает значение, указывающее, скрыт ли в производном классе только член того же типа с той же сигнатурой.

(Унаследовано от MethodBase)
IsPrivate

Возвращает значение, указывающее, является ли этот элемент частным.

(Унаследовано от MethodBase)
IsPublic

Возвращает значение, указывающее, является ли это общедоступным методом.

(Унаследовано от MethodBase)
IsSecurityCritical

Возвращает значение, указывающее, является ли текущий метод или конструктор критически важным или безопасным для безопасности на текущем уровне доверия и поэтому может выполнять критически важные операции.

(Унаследовано от MethodBase)
IsSecuritySafeCritical

Возвращает значение, указывающее, является ли текущий метод или конструктор безопасным для системы безопасности на текущем уровне доверия; т. е. может ли он выполнять критически важные операции и получить доступ к ним с помощью прозрачного кода.

(Унаследовано от MethodBase)
IsSecurityTransparent

Возвращает значение, указывающее, является ли текущий метод или конструктор прозрачным на текущем уровне доверия и поэтому не может выполнять критически важные операции.

(Унаследовано от MethodBase)
IsSpecialName

Возвращает значение, указывающее, имеет ли этот метод специальное имя.

(Унаследовано от MethodBase)
IsStatic

Возвращает значение, указывающее, является staticли метод.

(Унаследовано от MethodBase)
IsVirtual

Возвращает значение, указывающее, является virtualли метод.

(Унаследовано от MethodBase)
MemberType

MemberTypes Возвращает значение, указывающее, что этот член является методом.

MetadataToken

Возвращает значение, определяющее элемент метаданных.

(Унаследовано от MemberInfo)
MethodHandle

Возвращает дескриптор внутреннего представления метаданных метода.

(Унаследовано от MethodBase)
MethodImplementationFlags

Возвращает флаги, указывающие MethodImplAttributes атрибуты реализации метода.

(Унаследовано от MethodBase)
Module

Возвращает модуль, в котором определяется тип, объявляющий элемент, представленный текущим MemberInfo .

(Унаследовано от MemberInfo)
Name

Возвращает имя текущего элемента.

(Унаследовано от MemberInfo)
ReflectedType

Возвращает объект класса, используемый для получения этого экземпляра MemberInfo.

(Унаследовано от MemberInfo)
ReturnParameter

ParameterInfo Возвращает объект, содержащий сведения о возвращаемом типе метода, например, имеет ли тип возвращаемого типа настраиваемые модификаторы.

ReturnType

Возвращает тип возвращаемого значения этого метода.

ReturnTypeCustomAttributes

Возвращает настраиваемые атрибуты для возвращаемого типа.

Методы

Имя Описание
CreateDelegate(Type, Object)

Создает делегат указанного типа с указанным целевым объектом из этого метода.

CreateDelegate(Type)

Создает делегат указанного типа из этого метода.

CreateDelegate<T>()

Создает делегат типа T из этого метода.

CreateDelegate<T>(Object)

Создает делегат типа T с указанным целевым объектом из этого метода.

Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

GetBaseDefinition()

При переопределении в производном классе возвращает MethodInfo объект для метода прямого или косвенного базового класса, в котором метод, представленный этим экземпляром, был впервые объявлен.

GetCustomAttributes(Boolean)

При переопределении в производном классе возвращает массив всех пользовательских атрибутов, примененных к этому элементу.

(Унаследовано от MemberInfo)
GetCustomAttributes(Type, Boolean)

При переопределении в производном классе возвращает массив пользовательских атрибутов, применяемых к этому элементу, и определяется с помощью Type.

(Унаследовано от MemberInfo)
GetCustomAttributesData()

Возвращает список CustomAttributeData объектов, представляющих данные о атрибутах, примененных к целевому элементу.

(Унаследовано от MemberInfo)
GetGenericArguments()

Возвращает массив Type объектов, представляющих аргументы типа универсального метода или параметры типа определения универсального метода.

GetGenericMethodDefinition()

MethodInfo Возвращает объект, представляющий определение универсального метода, из которого можно создать текущий метод.

GetHashCode()

Возвращает хэш-код для этого экземпляра.

GetMethodBody()

При переопределении в производном классе получает MethodBody объект, предоставляющий доступ к потоку MSIL, локальным переменным и исключениям для текущего метода.

(Унаследовано от MethodBase)
GetMethodImplementationFlags()

При переопределении в производном классе возвращает MethodImplAttributes флаги.

(Унаследовано от MethodBase)
GetParameters()

При переопределении в производном классе получает параметры указанного метода или конструктора.

(Унаследовано от MethodBase)
GetType()

Обнаруживает атрибуты метода и предоставляет доступ к метаданным метода.

HasSameMetadataDefinitionAs(MemberInfo)

Обнаруживает атрибуты метода и предоставляет доступ к метаданным метода.

(Унаследовано от MemberInfo)
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

При переопределении в производном классе вызывает отраженный метод или конструктор с заданными параметрами.

(Унаследовано от MethodBase)
Invoke(Object, Object[])

Вызывает метод или конструктор, представленный текущим экземпляром, с помощью указанных параметров.

Invoke(Object, Object[])

Вызывает метод или конструктор, представленный текущим экземпляром, с помощью указанных параметров.

(Унаследовано от MethodBase)
IsDefined(Type, Boolean)

При переопределении в производном классе указывает, применяется ли к этому члену один или несколько атрибутов указанного типа или производных типов.

(Унаследовано от MemberInfo)
MakeGenericMethod(Type[])

Заменяет элементы массива типов для параметров типа текущего определения универсального метода и возвращает MethodInfo объект, представляющий результирующий созданный метод.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Операторы

Имя Описание
Equality(MethodInfo, MethodInfo)

Указывает, равны ли два MethodInfo объекта.

Inequality(MethodInfo, MethodInfo)

Указывает, равны ли два MethodInfo объекта.

Явные реализации интерфейса

Имя Описание
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от MemberInfo)
_MemberInfo.GetType()

Type Возвращает объект, MemberInfo представляющий класс.

(Унаследовано от MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.

(Унаследовано от MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от MethodBase)
_MethodBase.GetType()

Описание этого элемента см. в разделе GetType().

(Унаследовано от MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.

(Унаследовано от MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от MethodBase)
_MethodBase.IsAbstract

Описание этого элемента см. в разделе IsAbstract.

(Унаследовано от MethodBase)
_MethodBase.IsAssembly

Описание этого элемента см. в разделе IsAssembly.

(Унаследовано от MethodBase)
_MethodBase.IsConstructor

Описание этого элемента см. в разделе IsConstructor.

(Унаследовано от MethodBase)
_MethodBase.IsFamily

Описание этого элемента см. в разделе IsFamily.

(Унаследовано от MethodBase)
_MethodBase.IsFamilyAndAssembly

Описание этого элемента см. в разделе IsFamilyAndAssembly.

(Унаследовано от MethodBase)
_MethodBase.IsFamilyOrAssembly

Описание этого элемента см. в разделе IsFamilyOrAssembly.

(Унаследовано от MethodBase)
_MethodBase.IsFinal

Описание этого элемента см. в разделе IsFinal.

(Унаследовано от MethodBase)
_MethodBase.IsHideBySig

Описание этого элемента см. в разделе IsHideBySig.

(Унаследовано от MethodBase)
_MethodBase.IsPrivate

Описание этого элемента см. в разделе IsPrivate.

(Унаследовано от MethodBase)
_MethodBase.IsPublic

Описание этого элемента см. в разделе IsPublic.

(Унаследовано от MethodBase)
_MethodBase.IsSpecialName

Описание этого элемента см. в разделе IsSpecialName.

(Унаследовано от MethodBase)
_MethodBase.IsStatic

Описание этого элемента см. в разделе IsStatic.

(Унаследовано от MethodBase)
_MethodBase.IsVirtual

Описание этого элемента см. в разделе IsVirtual.

(Унаследовано от MethodBase)
_MethodInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

_MethodInfo.GetType()

Предоставляет доступ к методу GetType() из COM.

_MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

_MethodInfo.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

_MethodInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

ICustomAttributeProvider.GetCustomAttributes(Boolean)

Возвращает массив всех пользовательских атрибутов, определенных для этого элемента, за исключением именованных атрибутов или пустого массива, если нет пользовательских атрибутов.

(Унаследовано от MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Возвращает массив пользовательских атрибутов, определенных на этом элементе, определяемый по типу или пустой массив, если пользовательские атрибуты этого типа отсутствуют.

(Унаследовано от MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Указывает, определен ли один или несколько экземпляров attributeType этого элемента.

(Унаследовано от MemberInfo)

Методы расширения

Имя Описание
GetBaseDefinition(MethodInfo)

Обнаруживает атрибуты метода и предоставляет доступ к метаданным метода.

GetCustomAttribute(MemberInfo, Type, Boolean)

Извлекает настраиваемый атрибут указанного типа, применяемого к указанному элементу, и при необходимости проверяет предки этого элемента.

GetCustomAttribute(MemberInfo, Type)

Извлекает настраиваемый атрибут указанного типа, применяемого к указанному элементу.

GetCustomAttribute<T>(MemberInfo, Boolean)

Извлекает настраиваемый атрибут указанного типа, применяемого к указанному элементу, и при необходимости проверяет предки этого элемента.

GetCustomAttribute<T>(MemberInfo)

Извлекает настраиваемый атрибут указанного типа, применяемого к указанному элементу.

GetCustomAttributes(MemberInfo, Boolean)

Извлекает коллекцию настраиваемых атрибутов, применяемых к указанному элементу, и при необходимости проверяет предки этого элемента.

GetCustomAttributes(MemberInfo, Type, Boolean)

Извлекает коллекцию настраиваемых атрибутов указанного типа, применяемого к указанному элементу, и при необходимости проверяет предки этого элемента.

GetCustomAttributes(MemberInfo, Type)

Извлекает коллекцию настраиваемых атрибутов указанного типа, применяемого к указанному элементу.

GetCustomAttributes(MemberInfo)

Извлекает коллекцию настраиваемых атрибутов, применяемых к указанному элементу.

GetCustomAttributes<T>(MemberInfo, Boolean)

Извлекает коллекцию настраиваемых атрибутов указанного типа, применяемого к указанному элементу, и при необходимости проверяет предки этого элемента.

GetCustomAttributes<T>(MemberInfo)

Извлекает коллекцию настраиваемых атрибутов указанного типа, применяемого к указанному элементу.

GetMetadataToken(MemberInfo)

Возвращает маркер метаданных для данного члена, если он доступен.

GetRuntimeBaseDefinition(MethodInfo)

Извлекает объект, представляющий указанный метод в прямом или косвенном базовом классе, где метод был впервые объявлен.

HasMetadataToken(MemberInfo)

Возвращает значение, указывающее, доступен ли маркер метаданных для указанного элемента.

IsDefined(MemberInfo, Type, Boolean)

Указывает, применяются ли пользовательские атрибуты указанного типа к указанному элементу и, при необходимости, применяются к его предкам.

IsDefined(MemberInfo, Type)

Указывает, применяются ли пользовательские атрибуты указанного типа к указанному элементу.

Применяется к

Потокобезопасность

Этот тип является потокобезопасной.

См. также раздел