MethodBuilder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет и представляет метод (или конструктор) в динамическом классе.
public ref class MethodBuilder sealed : System::Reflection::MethodInfo, System::Runtime::InteropServices::_MethodBuilder
public ref class MethodBuilder sealed : System::Reflection::MethodInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class MethodBuilder : System.Reflection.MethodInfo, System.Runtime.InteropServices._MethodBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class MethodBuilder : System.Reflection.MethodInfo, System.Runtime.InteropServices._MethodBuilder
public sealed class MethodBuilder : System.Reflection.MethodInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type MethodBuilder = class
inherit MethodInfo
interface _MethodBuilder
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodBuilder = class
inherit MethodInfo
interface _MethodBuilder
type MethodBuilder = class
inherit MethodInfo
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Implements _MethodBuilder
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере класс используется MethodBuilder для создания метода в динамическом типе.
using System;
using System.Reflection;
using System.Reflection.Emit;
class DemoMethodBuilder
{
public static void AddMethodDynamically (TypeBuilder myTypeBld,
string mthdName,
Type[] mthdParams,
Type returnType,
string mthdAction)
{
MethodBuilder myMthdBld = myTypeBld.DefineMethod(
mthdName,
MethodAttributes.Public |
MethodAttributes.Static,
returnType,
mthdParams);
ILGenerator ILout = myMthdBld.GetILGenerator();
int numParams = mthdParams.Length;
for (byte x=0; x < numParams; x++)
{
ILout.Emit(OpCodes.Ldarg_S, x);
}
if (numParams > 1)
{
for (int y=0; y<(numParams-1); y++)
{
switch (mthdAction)
{
case "A": ILout.Emit(OpCodes.Add);
break;
case "M": ILout.Emit(OpCodes.Mul);
break;
default: ILout.Emit(OpCodes.Add);
break;
}
}
}
ILout.Emit(OpCodes.Ret);
}
public static void Main()
{
AppDomain myDomain = AppDomain.CurrentDomain;
AssemblyName asmName = new AssemblyName();
asmName.Name = "MyDynamicAsm";
AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
asmName,
AssemblyBuilderAccess.RunAndSave);
ModuleBuilder myModule = myAsmBuilder.DefineDynamicModule("MyDynamicAsm",
"MyDynamicAsm.dll");
TypeBuilder myTypeBld = myModule.DefineType("MyDynamicType",
TypeAttributes.Public);
// Get info from the user to build the method dynamically.
Console.WriteLine("Let's build a simple method dynamically!");
Console.WriteLine("Please enter a few numbers, separated by spaces.");
string inputNums = Console.ReadLine();
Console.Write("Do you want to [A]dd (default) or [M]ultiply these numbers? ");
string myMthdAction = Console.ReadLine().ToUpper();
Console.Write("Lastly, what do you want to name your new dynamic method? ");
string myMthdName = Console.ReadLine();
// Process inputNums into an array and create a corresponding Type array
int index = 0;
string[] inputNumsList = inputNums.Split();
Type[] myMthdParams = new Type[inputNumsList.Length];
object[] inputValsList = new object[inputNumsList.Length];
foreach (string inputNum in inputNumsList)
{
inputValsList[index] = (object)Convert.ToInt32(inputNum);
myMthdParams[index] = typeof(int);
index++;
}
// Now, call the method building method with the parameters, passing the
// TypeBuilder by reference.
AddMethodDynamically(myTypeBld,
myMthdName,
myMthdParams,
typeof(int),
myMthdAction);
Type myType = myTypeBld.CreateType();
Console.WriteLine("---");
Console.WriteLine("The result of {0} the inputted values is: {1}",
((myMthdAction == "M") ? "multiplying" : "adding"),
myType.InvokeMember(myMthdName,
BindingFlags.InvokeMethod | BindingFlags.Public |
BindingFlags.Static,
null,
null,
inputValsList));
Console.WriteLine("---");
// Let's take a look at the method we created.
// If you are interested in seeing the MSIL generated dynamically for the method
// your program generated, change to the directory where you ran the compiled
// code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
// of manifest contents appears, click on "MyDynamicType" and then on the name of
// of the method you provided during execution.
myAsmBuilder.Save("MyDynamicAsm.dll");
MethodInfo myMthdInfo = myType.GetMethod(myMthdName);
Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString());
}
}
Imports System.Reflection
Imports System.Reflection.Emit
Class DemoMethodBuilder
Public Shared Sub AddMethodDynamically(ByVal myTypeBld As TypeBuilder, _
ByVal mthdName As String, _
ByVal mthdParams() As Type, _
ByVal returnType As Type, _
ByVal mthdAction As String)
Dim myMthdBld As MethodBuilder = myTypeBld.DefineMethod(mthdName, _
MethodAttributes.Public Or MethodAttributes.Static, _
returnType, _
mthdParams)
Dim ILout As ILGenerator = myMthdBld.GetILGenerator()
Dim numParams As Integer = mthdParams.Length
Dim x As Byte
For x = 0 To numParams - 1
ILout.Emit(OpCodes.Ldarg_S, x)
Next x
If numParams > 1 Then
Dim y As Integer
For y = 0 To (numParams - 1) - 1
Select Case mthdAction
Case "A"
ILout.Emit(OpCodes.Add)
Case "M"
ILout.Emit(OpCodes.Mul)
Case Else
ILout.Emit(OpCodes.Add)
End Select
Next y
End If
ILout.Emit(OpCodes.Ret)
End Sub
Public Shared Sub Main()
Dim myDomain As AppDomain = AppDomain.CurrentDomain
Dim asmName As New AssemblyName()
asmName.Name = "MyDynamicAsm"
Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly(asmName, _
AssemblyBuilderAccess.RunAndSave)
Dim myModule As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyDynamicAsm", _
"MyDynamicAsm.dll")
Dim myTypeBld As TypeBuilder = myModule.DefineType("MyDynamicType", TypeAttributes.Public)
' Get info from the user to build the method dynamically.
Console.WriteLine("Let's build a simple method dynamically!")
Console.WriteLine("Please enter a few numbers, separated by spaces.")
Dim inputNums As String = Console.ReadLine()
Console.Write("Do you want to [A]dd (default) or [M]ultiply these numbers? ")
Dim myMthdAction As String = Console.ReadLine().ToUpper()
Console.Write("Lastly, what do you want to name your new dynamic method? ")
Dim myMthdName As String = Console.ReadLine()
' Process inputNums into an array and create a corresponding Type array
Dim index As Integer = 0
Dim inputNumsList As String() = inputNums.Split()
Dim myMthdParams(inputNumsList.Length - 1) As Type
Dim inputValsList(inputNumsList.Length - 1) As Object
Dim inputNum As String
For Each inputNum In inputNumsList
inputValsList(index) = CType(Convert.ToInt32(inputNum), Object)
myMthdParams(index) = GetType(Integer)
index += 1
Next inputNum
' Now, call the method building method with the parameters, passing the
' TypeBuilder by reference.
AddMethodDynamically(myTypeBld, myMthdName, myMthdParams, GetType(Integer), myMthdAction)
Dim myType As Type = myTypeBld.CreateType()
Dim description as String
If myMthdAction = "M" Then
description = "multiplying"
Else
description = "adding"
End If
Console.WriteLine("---")
Console.WriteLine("The result of {0} the values is: {1}", _
description, _
myType.InvokeMember(myMthdName, _
BindingFlags.InvokeMethod _
Or BindingFlags.Public _
Or BindingFlags.Static, _
Nothing, _
Nothing, _
inputValsList))
Console.WriteLine("---")
' If you are interested in seeing the MSIL generated dynamically for the method
' your program generated, change to the directory where you ran the compiled
' code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
' of manifest contents appears, click on "MyDynamicType" and then on the name of
' of the method you provided during execution.
myAsmBuilder.Save("MyDynamicAsm.dll")
Dim myMthdInfo As MethodInfo = myType.GetMethod(myMthdName)
Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString())
End Sub
End Class
Комментарии
Дополнительные сведения об этом API см. в дополнительных примечаниях API для MethodBuilder.
Свойства
| Имя | Описание |
|---|---|
| Attributes |
Извлекает атрибуты для этого метода. |
| CallingConvention |
Возвращает соглашение о вызове метода. |
| ContainsGenericParameters |
Не поддерживается для этого типа. |
| CustomAttributes |
Возвращает коллекцию, содержащую настраиваемые атрибуты этого члена. (Унаследовано от MemberInfo) |
| DeclaringType |
Возвращает тип, объявляющий этот метод. |
| InitLocals |
Возвращает или задает логическое значение, указывающее, инициализированы ли локальные переменные в этом методе. Значение по умолчанию этого свойства равно |
| IsAbstract |
Возвращает значение, указывающее, является ли метод абстрактным. (Унаследовано от MethodBase) |
| IsAssembly |
Получает значение, указывающее, описывается ли потенциальная видимость этого метода или конструктора Assembly; то есть метод или конструктор не отображается в большинстве других типов в той же сборке и не отображается производным типам за пределами сборки. (Унаследовано от MethodBase) |
| IsConstructedGenericMethod |
Определяет и представляет метод (или конструктор) в динамическом классе. |
| IsConstructor |
Возвращает значение, указывающее, является ли метод конструктором. (Унаследовано от MethodBase) |
| IsFamily |
Возвращает значение, указывающее, описывается Familyли видимость этого метода или конструктора; то есть метод или конструктор видим только в его классе и производных классах. (Унаследовано от MethodBase) |
| IsFamilyAndAssembly |
Возвращает значение, указывающее, описывается FamANDAssemли видимость этого метода или конструктора; то есть метод или конструктор можно вызывать производными классами, но только в том случае, если они находятся в одной сборке. (Унаследовано от MethodBase) |
| IsFamilyOrAssembly |
Получает значение, указывающее, описывается FamORAssemли потенциальная видимость этого метода или конструктора; то есть метод или конструктор можно вызывать производными классами, где бы они ни находились, и классами в одной сборке. (Унаследовано от MethodBase) |
| IsFinal |
Возвращает значение, указывающее, является |
| IsGenericMethod |
Возвращает значение, указывающее, является ли метод универсальным методом. |
| IsGenericMethodDefinition |
Возвращает значение, указывающее, представляет ли текущий MethodBuilder объект определение универсального метода. |
| IsHideBySig |
Возвращает значение, указывающее, скрыт ли в производном классе только член того же типа с той же сигнатурой. (Унаследовано от MethodBase) |
| IsPrivate |
Возвращает значение, указывающее, является ли этот элемент частным. (Унаследовано от MethodBase) |
| IsPublic |
Возвращает значение, указывающее, является ли это общедоступным методом. (Унаследовано от MethodBase) |
| IsSecurityCritical |
Вызывается NotSupportedException во всех случаях. |
| IsSecurityCritical |
Возвращает значение, указывающее, является ли текущий метод или конструктор критически важным или безопасным для безопасности на текущем уровне доверия и поэтому может выполнять критически важные операции. (Унаследовано от MethodBase) |
| IsSecuritySafeCritical |
Вызывается NotSupportedException во всех случаях. |
| IsSecuritySafeCritical |
Возвращает значение, указывающее, является ли текущий метод или конструктор безопасным для системы безопасности на текущем уровне доверия; т. е. может ли он выполнять критически важные операции и получить доступ к ним с помощью прозрачного кода. (Унаследовано от MethodBase) |
| IsSecurityTransparent |
Вызывается NotSupportedException во всех случаях. |
| IsSecurityTransparent |
Возвращает значение, указывающее, является ли текущий метод или конструктор прозрачным на текущем уровне доверия и поэтому не может выполнять критически важные операции. (Унаследовано от MethodBase) |
| IsSpecialName |
Возвращает значение, указывающее, имеет ли этот метод специальное имя. (Унаследовано от MethodBase) |
| IsStatic |
Возвращает значение, указывающее, является |
| IsVirtual |
Возвращает значение, указывающее, является |
| MemberType |
MemberTypes Возвращает значение, указывающее, что этот член является методом. (Унаследовано от MethodInfo) |
| MetadataToken |
Возвращает значение, определяющее элемент метаданных. (Унаследовано от MemberInfo) |
| MethodHandle |
Извлекает внутренний дескриптор для метода. Используйте этот дескриптор для доступа к базовому дескриптору метаданных. |
| MethodImplementationFlags |
Возвращает флаги, указывающие MethodImplAttributes атрибуты реализации метода. (Унаследовано от MethodBase) |
| Module |
Возвращает модуль, в котором определен текущий метод. |
| Name |
Извлекает имя этого метода. |
| ReflectedType |
Извлекает класс, используемый в отражении для получения этого объекта. |
| ReturnParameter |
ParameterInfo Возвращает объект, содержащий сведения о возвращаемом типе метода, например, имеет ли тип возвращаемого типа настраиваемые модификаторы. |
| ReturnType |
Возвращает возвращаемый тип метода, представленного этим MethodBuilderметодом. |
| ReturnType |
Возвращает тип возвращаемого значения этого метода. (Унаследовано от MethodInfo) |
| ReturnTypeCustomAttributes |
Возвращает настраиваемые атрибуты возвращаемого типа метода. |
| Signature |
Извлекает сигнатуру метода. |
Методы
| Имя | Описание |
|---|---|
| AddDeclarativeSecurity(SecurityAction, PermissionSet) |
Добавляет декларативную безопасность в этот метод. |
| CreateDelegate(Type, Object) |
Создает делегат указанного типа с указанным целевым объектом из этого метода. (Унаследовано от MethodInfo) |
| CreateDelegate(Type) |
Создает делегат указанного типа из этого метода. (Унаследовано от MethodInfo) |
| CreateMethodBody(Byte[], Int32) |
Создает текст метода с помощью предоставленного массива байтов Microsoft инструкций по промежуточному языку (MSIL). |
| DefineGenericParameters(String[]) |
Задает число параметров универсального типа для текущего метода, задает их имена и возвращает массив объектов, которые можно использовать для определения ограничений GenericTypeParameterBuilder . |
| DefineParameter(Int32, ParameterAttributes, String) |
Задает атрибуты параметров и имя параметра этого метода или возвращаемое значение этого метода. Возвращает параметрBuilder, который можно использовать для применения пользовательских атрибутов. |
| Equals(Object) |
Определяет, равен ли данный объект этому экземпляру. |
| GetBaseDefinition() |
Возвращает базовую реализацию для метода. |
| GetCustomAttributes(Boolean) |
Возвращает все пользовательские атрибуты, определенные для этого метода. |
| GetCustomAttributes(Type, Boolean) |
Возвращает настраиваемые атрибуты, определяемые заданным типом. |
| GetCustomAttributesData() |
Возвращает список CustomAttributeData объектов, представляющих данные о атрибутах, примененных к целевому элементу. (Унаследовано от MemberInfo) |
| GetGenericArguments() |
Возвращает массив GenericTypeParameterBuilder объектов, представляющих параметры типа метода, если он является универсальным. |
| GetGenericMethodDefinition() |
Возвращает этот метод. |
| GetHashCode() |
Возвращает хэш-код для этого метода. |
| GetILGenerator() |
Возвращает |
| GetILGenerator(Int32) |
Возвращает |
| GetMethodBody() |
При переопределении в производном классе получает MethodBody объект, предоставляющий доступ к потоку MSIL, локальным переменным и исключениям для текущего метода. (Унаследовано от MethodBase) |
| GetMethodImplementationFlags() |
Возвращает флаги реализации для метода. |
| GetModule() |
Возвращает ссылку на модуль, содержащий этот метод. |
| GetParameters() |
Возвращает параметры этого метода. |
| GetToken() |
Возвращает маркер |
| GetType() |
Обнаруживает атрибуты метода и предоставляет доступ к метаданным метода. (Унаследовано от MethodInfo) |
| HasSameMetadataDefinitionAs(MemberInfo) |
Определяет и представляет метод (или конструктор) в динамическом классе. (Унаследовано от MemberInfo) |
| Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Динамически вызывает метод, отраженный этим экземпляром в заданном объекте, передавая указанные параметры, и при ограничениях данного привязчика. |
| Invoke(Object, Object[]) |
Вызывает метод или конструктор, представленный текущим экземпляром, с помощью указанных параметров. (Унаследовано от MethodInfo) |
| IsDefined(Type, Boolean) |
Проверяет, определен ли указанный пользовательский тип атрибута. |
| MakeGenericMethod(Type[]) |
Возвращает универсальный метод, созданный из текущего определения универсального метода с помощью указанных аргументов универсального типа. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| SetCustomAttribute(ConstructorInfo, Byte[]) |
Задает настраиваемый атрибут с помощью указанного пользовательского BLOB-объекта атрибута. |
| SetCustomAttribute(CustomAttributeBuilder) |
Задает пользовательский атрибут с помощью построителя настраиваемых атрибутов. |
| SetImplementationFlags(MethodImplAttributes) |
Задает флаги реализации для этого метода. |
| SetMarshal(UnmanagedMarshal) |
Устаревшие..
Задает сведения о маршалинге для возвращаемого типа этого метода. |
| SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>) |
Создает текст метода с помощью указанного массива байтов Microsoft инструкций по промежуточному языку (MSIL). |
| SetParameters(Type[]) |
Задает число и типы параметров для метода. |
| SetReturnType(Type) |
Задает тип возвращаемого метода. |
| SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) |
Задает сигнатуру метода, включая возвращаемый тип, типы параметров и обязательные и необязательные настраиваемые модификаторы возвращаемого типа и типов параметров. |
| SetSymCustomAttribute(String, Byte[]) |
Задайте символьный пользовательский атрибут с помощью большого двоичного объекта. |
| ToString() |
Возвращает этот |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| _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) |
| _MethodBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. |
| _MethodBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса. |
| _MethodBuilder.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). |
| _MethodBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к свойствам и методам, предоставляемым объектом. |
| _MethodInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от MethodInfo) |
| _MethodInfo.GetType() |
Предоставляет доступ к методу GetType() из COM. (Унаследовано от MethodInfo) |
| _MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса. (Унаследовано от MethodInfo) |
| _MethodInfo.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от MethodInfo) |
| _MethodInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к свойствам и методам, предоставляемым объектом. (Унаследовано от 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) |
Извлекает коллекцию настраиваемых атрибутов указанного типа, применяемого к указанному элементу. |
| GetRuntimeBaseDefinition(MethodInfo) |
Извлекает объект, представляющий указанный метод в прямом или косвенном базовом классе, где метод был впервые объявлен. |
| IsDefined(MemberInfo, Type, Boolean) |
Указывает, применяются ли пользовательские атрибуты указанного типа к указанному элементу и, при необходимости, применяются к его предкам. |
| IsDefined(MemberInfo, Type) |
Указывает, применяются ли пользовательские атрибуты указанного типа к указанному элементу. |