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 |
Возвращает значение, указывающее, является |
| IsGenericMethod |
Возвращает значение, указывающее, является ли текущий метод универсальным методом. |
| IsGenericMethod |
Возвращает значение, указывающее, является ли метод универсальным. (Унаследовано от MethodBase) |
| IsGenericMethodDefinition |
Возвращает значение, указывающее, представляет ли текущий MethodInfo определение универсального метода. |
| IsGenericMethodDefinition |
Возвращает значение, указывающее, является ли метод определением универсального метода. (Унаследовано от MethodBase) |
| IsHideBySig |
Возвращает значение, указывающее, скрыт ли в производном классе только член того же типа с той же сигнатурой. (Унаследовано от MethodBase) |
| IsPrivate |
Возвращает значение, указывающее, является ли этот элемент частным. (Унаследовано от MethodBase) |
| IsPublic |
Возвращает значение, указывающее, является ли это общедоступным методом. (Унаследовано от MethodBase) |
| IsSecurityCritical |
Возвращает значение, указывающее, является ли текущий метод или конструктор критически важным или безопасным для безопасности на текущем уровне доверия и поэтому может выполнять критически важные операции. (Унаследовано от MethodBase) |
| IsSecuritySafeCritical |
Возвращает значение, указывающее, является ли текущий метод или конструктор безопасным для системы безопасности на текущем уровне доверия; т. е. может ли он выполнять критически важные операции и получить доступ к ним с помощью прозрачного кода. (Унаследовано от MethodBase) |
| IsSecurityTransparent |
Возвращает значение, указывающее, является ли текущий метод или конструктор прозрачным на текущем уровне доверия и поэтому не может выполнять критически важные операции. (Унаследовано от MethodBase) |
| IsSpecialName |
Возвращает значение, указывающее, имеет ли этот метод специальное имя. (Унаследовано от MethodBase) |
| IsStatic |
Возвращает значение, указывающее, является |
| IsVirtual |
Возвращает значение, указывающее, является |
| MemberType |
MemberTypes Возвращает значение, указывающее, что этот член является методом. |
| MetadataToken |
Возвращает значение, определяющее элемент метаданных. (Унаследовано от MemberInfo) |
| MethodHandle |
Возвращает дескриптор внутреннего представления метаданных метода. (Унаследовано от MethodBase) |
| MethodImplementationFlags |
Возвращает флаги, указывающие MethodImplAttributes атрибуты реализации метода. (Унаследовано от MethodBase) |
| Module |
Возвращает модуль, в котором определяется тип, объявляющий элемент, представленный текущим MemberInfo . (Унаследовано от MemberInfo) |
| Name |
Возвращает имя текущего элемента. (Унаследовано от MemberInfo) |
| ReflectedType |
Возвращает объект класса, используемый для получения этого экземпляра |
| ReturnParameter |
ParameterInfo Возвращает объект, содержащий сведения о возвращаемом типе метода, например, имеет ли тип возвращаемого типа настраиваемые модификаторы. |
| ReturnType |
Возвращает тип возвращаемого значения этого метода. |
| ReturnTypeCustomAttributes |
Возвращает настраиваемые атрибуты для возвращаемого типа. |
Методы
| Имя | Описание |
|---|---|
| CreateDelegate(Type, Object) |
Создает делегат указанного типа с указанным целевым объектом из этого метода. |
| CreateDelegate(Type) |
Создает делегат указанного типа из этого метода. |
| CreateDelegate<T>() |
Создает делегат типа |
| CreateDelegate<T>(Object) |
Создает делегат типа |
| 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) |
Указывает, определен ли один или несколько экземпляров |
Методы расширения
| Имя | Описание |
|---|---|
| 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) |
Указывает, применяются ли пользовательские атрибуты указанного типа к указанному элементу. |
Применяется к
Потокобезопасность
Этот тип является потокобезопасной.