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


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 получения сведений о методе, который представляет объект , и для вызова метода . Пример:

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

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

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

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

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

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

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

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

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

При наследовании от MethodInfoнеобходимо переопределить GetBaseDefinition(), ReturnType, ReturnTypeCustomAttributes, GetParameters(), GetMethodImplementationFlags()MethodHandleAttributesInvoke(Object, BindingFlags, Binder, Object[], CultureInfo), Name, MemberType, DeclaringType, , ReflectedType, GetCustomAttributes(Boolean), GetCustomAttributes(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, указывающее, что этот элемент является методом.

MemberType

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ReturnType

Возвращает тип, возвращаемый этим методом.

ReturnTypeCustomAttributes

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

Методы

CreateDelegate(Type)

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

CreateDelegate(Type, Object)

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

CreateDelegate<T>()

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

CreateDelegate<T>(Object)

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

Equals(Object)

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

Equals(Object)

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

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

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

GetCustomAttributes(Boolean)

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

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

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

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

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

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

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

GetGenericArguments()

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

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

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

GetHashCode()

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

GetHashCode()

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

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

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

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

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

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

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

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

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

GetType()

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

(Унаследовано от MethodBase)
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)

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

GetCustomAttribute(MemberInfo, Type)

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

GetCustomAttribute(MemberInfo, Type, Boolean)

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

GetCustomAttribute<T>(MemberInfo)

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

GetCustomAttribute<T>(MemberInfo, Boolean)

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

GetCustomAttributes(MemberInfo)

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

GetCustomAttributes(MemberInfo, Boolean)

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

GetCustomAttributes(MemberInfo, Type)

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

GetCustomAttributes(MemberInfo, Type, Boolean)

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

GetCustomAttributes<T>(MemberInfo)

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

GetCustomAttributes<T>(MemberInfo, Boolean)

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

IsDefined(MemberInfo, Type)

Указывает, применены ли какие-либо пользовательские атрибуты заданного типа к указанному члену.

IsDefined(MemberInfo, Type, Boolean)

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

GetMetadataToken(MemberInfo)

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

HasMetadataToken(MemberInfo)

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

GetBaseDefinition(MethodInfo)

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

GetRuntimeBaseDefinition(MethodInfo)

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

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

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

Данный тип потокобезопасен.

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