MethodBuilder Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje i reprezentuje metodę (lub konstruktor) w klasie dynamicznej.
public ref class MethodBuilder sealed : System::Reflection::MethodInfo
public ref class MethodBuilder abstract : System::Reflection::MethodInfo
public ref class MethodBuilder sealed : System::Reflection::MethodInfo, System::Runtime::InteropServices::_MethodBuilder
public sealed class MethodBuilder : System.Reflection.MethodInfo
public abstract class MethodBuilder : 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
type MethodBuilder = class
inherit 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
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Public MustInherit Class MethodBuilder
Inherits MethodInfo
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Implements _MethodBuilder
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie użyto MethodBuilder klasy do utworzenia metody w ramach typu dynamicznego.
using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
void AddMethodDynamically( TypeBuilder^ myTypeBld,
String^ mthdName,
array<Type^>^ mthdParams,
Type^ returnType,
String^ mthdAction )
{
MethodBuilder^ myMthdBld = myTypeBld->DefineMethod( mthdName, static_cast<MethodAttributes>(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++ )
{
if ( mthdAction->Equals( "A" ) )
ILOut->Emit( OpCodes::Add );
else
if ( mthdAction->Equals( "M" ) )
ILOut->Emit( OpCodes::Mul );
else
ILOut->Emit( OpCodes::Add );
}
}
ILOut->Emit( OpCodes::Ret );
};
void main()
{
AppDomain^ myDomain = AppDomain::CurrentDomain;
AssemblyName^ asmName = gcnew 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;
array<String^>^inputNumsList = inputNums->Split();
array<Type^>^myMthdParams = gcnew array<Type^>(inputNumsList->Length);
array<Object^>^inputValsList = gcnew array<Object^>(inputNumsList->Length);
for each (String^ inputNum in inputNumsList)
{
inputValsList[ index ] = Convert::ToInt32( inputNum );
myMthdParams[ index ] = int::typeid;
index++;
}
// Now, call the method building method with the parameters, passing the
// TypeBuilder by reference.
AddMethodDynamically( myTypeBld,
myMthdName,
myMthdParams,
int::typeid,
myMthdAction );
Type^ myType = myTypeBld->CreateType();
Console::WriteLine( "---" );
Console::WriteLine( "The result of {0} the inputted values is: {1}",
((myMthdAction->Equals( "M" )) ? "multiplying" : "adding"),
myType->InvokeMember( myMthdName,
BindingFlags::InvokeMethod | BindingFlags::Public | BindingFlags::Static,
nullptr,
nullptr,
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 );
}
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
Uwagi
Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz dodatkowe uwagi dotyczące interfejsu API dla klasy MethodBuilder.
Konstruktory
MethodBuilder() |
Inicjuje nowe wystąpienie klasy MethodBuilder. |
Właściwości
Attributes |
Pobiera atrybuty dla tej metody. |
CallingConvention |
Zwraca konwencję wywoływania metody . |
ContainsGenericParameters |
Nieobsługiwane dla tego typu. |
ContainsGenericParameters |
Pobiera wartość wskazującą, czy metoda ogólna zawiera nieprzypisane parametry typu ogólnego. (Odziedziczone po MethodInfo) |
CustomAttributes |
Pobiera kolekcję zawierającą atrybuty niestandardowe tego elementu członkowskiego. (Odziedziczone po MemberInfo) |
DeclaringType |
Zwraca typ, który deklaruje tę metodę. |
InitLocals |
Pobiera lub ustawia wartość logiczną określającą, czy zmienne lokalne w tej metodzie są inicjowane przez zero. Wartość domyślna tej właściwości to |
InitLocalsCore |
Po zastąpieniu w klasie pochodnej pobiera lub ustawia wartość, która wskazuje, czy zmienne lokalne w tej metodzie są inicjowane zero. |
IsAbstract |
Pobiera wartość wskazującą, czy metoda jest abstrakcyjna. (Odziedziczone po MethodBase) |
IsAssembly |
Pobiera wartość wskazującą, czy potencjalna widoczność tej metody lub konstruktora jest opisana przez Assemblyprogram ; czyli metoda lub konstruktor jest widoczna co najwyżej dla innych typów w tym samym zestawie i nie jest widoczna dla typów pochodnych poza zestawem. (Odziedziczone po MethodBase) |
IsCollectible |
Pobiera wartość wskazującą, czy ten MemberInfo obiekt jest częścią zestawu przechowywanego w obiekcie zbieralnym AssemblyLoadContext. (Odziedziczone po MemberInfo) |
IsConstructedGenericMethod |
Definiuje i reprezentuje metodę (lub konstruktor) w klasie dynamicznej. |
IsConstructedGenericMethod |
Definiuje i reprezentuje metodę (lub konstruktor) w klasie dynamicznej. (Odziedziczone po MethodBase) |
IsConstructor |
Pobiera wartość wskazującą, czy metoda jest konstruktorem. (Odziedziczone po MethodBase) |
IsFamily |
Pobiera wartość wskazującą, czy widoczność tej metody lub konstruktora jest opisana przez Family, czyli metoda lub konstruktor jest widoczna tylko w jej klasach i klasach pochodnych. (Odziedziczone po MethodBase) |
IsFamilyAndAssembly |
Pobiera wartość wskazującą, czy widoczność tej metody lub konstruktora jest opisana przez FamANDAssemmetodę , czyli metodę lub konstruktor może być wywoływana przez klasy pochodne, ale tylko wtedy, gdy znajdują się w tym samym zestawie. (Odziedziczone po MethodBase) |
IsFamilyOrAssembly |
Pobiera wartość wskazującą, czy potencjalna widoczność tej metody lub konstruktora jest opisana przez FamORAssemmetodę , czyli metodę lub konstruktor może być wywoływana przez klasy pochodne wszędzie tam, gdzie są, i przez klasy w tym samym zestawie. (Odziedziczone po MethodBase) |
IsFinal |
Pobiera wartość wskazującą, czy ta metoda to |
IsGenericMethod |
Pobiera wartość wskazującą, czy metoda jest metodą ogólną. |
IsGenericMethod |
Pobiera wartość wskazującą, czy bieżąca metoda jest metodą ogólną. (Odziedziczone po MethodInfo) |
IsGenericMethodDefinition |
Pobiera wartość wskazującą, czy bieżący MethodBuilder obiekt reprezentuje definicję metody ogólnej. |
IsGenericMethodDefinition |
Pobiera wartość wskazującą, czy bieżący MethodInfo reprezentuje definicję metody ogólnej. (Odziedziczone po MethodInfo) |
IsHideBySig |
Pobiera wartość wskazującą, czy tylko składowa tego samego rodzaju z dokładnie tym samym podpisem jest ukryta w klasie pochodnej. (Odziedziczone po MethodBase) |
IsPrivate |
Pobiera wartość wskazującą, czy ten element członkowski jest prywatny. (Odziedziczone po MethodBase) |
IsPublic |
Pobiera wartość wskazującą, czy jest to metoda publiczna. (Odziedziczone po MethodBase) |
IsSecurityCritical |
Zgłasza wartość NotSupportedException we wszystkich przypadkach. |
IsSecurityCritical |
Pobiera wartość wskazującą, czy bieżąca metoda lub konstruktor ma krytyczne znaczenie dla zabezpieczeń, czy bezpieczeństwo krytyczne dla bezpieczeństwa na bieżącym poziomie zaufania, a zatem może wykonywać operacje krytyczne. (Odziedziczone po MethodBase) |
IsSecuritySafeCritical |
Zgłasza wartość NotSupportedException we wszystkich przypadkach. |
IsSecuritySafeCritical |
Pobiera wartość wskazującą, czy bieżąca metoda lub konstruktor ma krytyczne znaczenie dla zabezpieczeń na bieżącym poziomie zaufania; oznacza to, czy może wykonywać operacje krytyczne i można uzyskiwać do niego dostęp za pomocą przezroczystego kodu. (Odziedziczone po MethodBase) |
IsSecurityTransparent |
Zgłasza wartość NotSupportedException we wszystkich przypadkach. |
IsSecurityTransparent |
Pobiera wartość wskazującą, czy bieżąca metoda lub konstruktor jest przezroczysta na bieżącym poziomie zaufania i dlatego nie może wykonywać operacji krytycznych. (Odziedziczone po MethodBase) |
IsSpecialName |
Pobiera wartość wskazującą, czy ta metoda ma specjalną nazwę. (Odziedziczone po MethodBase) |
IsStatic |
Pobiera wartość wskazującą, czy metoda to |
IsVirtual |
Pobiera wartość wskazującą, czy metoda to |
MemberType |
Pobiera wartość wskazującą MemberTypes , że ten element członkowski jest metodą. (Odziedziczone po MethodInfo) |
MetadataToken |
Pobiera token identyfikujący bieżący moduł dynamiczny w metadanych. |
MetadataToken |
Pobiera wartość identyfikującą element metadanych. (Odziedziczone po MemberInfo) |
MethodHandle |
Pobiera wewnętrzny uchwyt dla metody . Użyj tego dojścia, aby uzyskać dostęp do dojścia do podstawowych metadanych. |
MethodHandle |
Pobiera dojście do wewnętrznej reprezentacji metadanych metody. (Odziedziczone po MethodBase) |
MethodImplementationFlags |
Definiuje i reprezentuje metodę (lub konstruktor) w klasie dynamicznej. |
MethodImplementationFlags |
MethodImplAttributes Pobiera flagi określające atrybuty implementacji metody. (Odziedziczone po MethodBase) |
Module |
Pobiera moduł, w którym jest definiowana bieżąca metoda. |
Module |
Pobiera moduł, w którym typ, który deklaruje element członkowski reprezentowany przez bieżący MemberInfo jest zdefiniowany. (Odziedziczone po MemberInfo) |
Name |
Pobiera nazwę tej metody. |
ReflectedType |
Pobiera klasę użytą w odbiciu w celu uzyskania tego obiektu. |
ReflectedType |
Pobiera obiekt klasy, który został użyty do uzyskania tego wystąpienia klasy |
ReturnParameter |
ParameterInfo Pobiera obiekt zawierający informacje o zwracanym typie metody, na przykład o tym, czy zwracany typ ma modyfikatory niestandardowe. |
ReturnParameter |
ParameterInfo Pobiera obiekt zawierający informacje o zwracanym typie metody, na przykład o tym, czy zwracany typ ma modyfikatory niestandardowe. (Odziedziczone po MethodInfo) |
ReturnType |
Pobiera zwracany typ metody reprezentowanej przez ten MethodBuilderelement . |
ReturnType |
Pobiera zwracany typ tej metody. (Odziedziczone po MethodInfo) |
ReturnTypeCustomAttributes |
Zwraca atrybuty niestandardowe zwracanego typu metody. |
ReturnTypeCustomAttributes |
Pobiera atrybuty niestandardowe dla typu zwracanego. (Odziedziczone po MethodInfo) |
Signature |
Pobiera podpis metody . |
Metody
AddDeclarativeSecurity(SecurityAction, PermissionSet) |
Dodaje zabezpieczenia deklaratywne do tej metody. |
CreateDelegate(Type) |
Tworzy delegat określonego typu na podstawie tej metody. (Odziedziczone po MethodInfo) |
CreateDelegate(Type, Object) |
Tworzy delegat określonego typu z określonym obiektem docelowym z tej metody. (Odziedziczone po MethodInfo) |
CreateDelegate<T>() |
Tworzy delegata typu |
CreateDelegate<T>(Object) |
Tworzy delegata typu |
CreateMethodBody(Byte[], Int32) |
Tworzy treść metody przy użyciu dostarczonej tablicy bajtów instrukcji języka microsoft intermediate language (MSIL). |
DefineGenericParameters(String[]) |
Ustawia liczbę parametrów typu ogólnego dla bieżącej metody, określa ich nazwy i zwraca tablicę GenericTypeParameterBuilder obiektów, które mogą służyć do definiowania ich ograniczeń. |
DefineGenericParametersCore(String[]) |
Po zastąpieniu w klasie pochodnej ustawia liczbę parametrów typu ogólnego dla bieżącej metody, określa ich nazwy i zwraca tablicę GenericTypeParameterBuilder obiektów, które mogą służyć do definiowania ich ograniczeń. |
DefineParameter(Int32, ParameterAttributes, String) |
Ustawia atrybuty parametru i nazwę parametru tej metody lub wartość zwracaną tej metody. Zwraca obiekt ParameterBuilder, który może służyć do stosowania atrybutów niestandardowych. |
DefineParameterCore(Int32, ParameterAttributes, String) |
Po zastąpieniu w klasie pochodnej definiuje parametr lub parametr zwracany dla tej metody. |
Equals(Object) |
Określa, czy dany obiekt jest równy temu wystąpieniu. |
GetBaseDefinition() |
Zwróć podstawową implementację dla metody . |
GetBaseDefinition() |
Po przesłonięciu w klasie pochodnej zwraca MethodInfo obiekt dla metody w bezpośrednich lub pośrednich klasach bazowych, w której metoda reprezentowana przez to wystąpienie została po raz pierwszy zadeklarowana. (Odziedziczone po MethodInfo) |
GetCustomAttributes(Boolean) |
Zwraca wszystkie atrybuty niestandardowe zdefiniowane dla tej metody. |
GetCustomAttributes(Boolean) |
Po zastąpieniu w klasie pochodnej zwraca tablicę wszystkich atrybutów niestandardowych zastosowanych do tego elementu członkowskiego. (Odziedziczone po MemberInfo) |
GetCustomAttributes(Type, Boolean) |
Zwraca atrybuty niestandardowe identyfikowane przez dany typ. |
GetCustomAttributes(Type, Boolean) |
Po przesłonięciu w klasie pochodnej zwraca tablicę atrybutów niestandardowych zastosowanych do tego elementu członkowskiego i zidentyfikowaną przez Typeelement . (Odziedziczone po MemberInfo) |
GetCustomAttributesData() |
Zwraca listę CustomAttributeData obiektów reprezentujących dane dotyczące atrybutów, które zostały zastosowane do elementu docelowego. (Odziedziczone po MemberInfo) |
GetGenericArguments() |
Zwraca tablicę GenericTypeParameterBuilder obiektów reprezentujących parametry typu metody, jeśli jest ona ogólna. |
GetGenericArguments() |
Zwraca tablicę Type obiektów reprezentujących argumenty typu metody ogólnej lub parametry typu definicji metody ogólnej. (Odziedziczone po MethodInfo) |
GetGenericMethodDefinition() |
Zwraca tę metodę. |
GetGenericMethodDefinition() |
Zwraca obiekt reprezentujący definicję MethodInfo metody ogólnej, z której można utworzyć bieżącą metodę. (Odziedziczone po MethodInfo) |
GetHashCode() |
Pobiera kod skrótu dla tej metody. |
GetILGenerator() |
Zwraca wartość |
GetILGenerator(Int32) |
Zwraca wartość |
GetILGeneratorCore(Int32) |
Po zastąpieniu w klasie pochodnej pobiera element ILGenerator , który może służyć do emitowania treści metody dla tej metody. |
GetMethodBody() |
Po zastąpieniu w klasie pochodnej pobiera MethodBody obiekt, który zapewnia dostęp do strumienia MSIL, zmiennych lokalnych i wyjątków dla bieżącej metody. (Odziedziczone po MethodBase) |
GetMethodImplementationFlags() |
Zwraca flagi implementacji dla metody . |
GetMethodImplementationFlags() |
Po przesłonięciu MethodImplAttributes w klasie pochodnej zwraca flagi. (Odziedziczone po MethodBase) |
GetModule() |
Zwraca odwołanie do modułu zawierającego tę metodę. |
GetParameters() |
Zwraca parametry tej metody. |
GetToken() |
|
GetType() |
Odnajduje atrybuty metody i zapewnia dostęp do metadanych metody. (Odziedziczone po MethodInfo) |
HasSameMetadataDefinitionAs(MemberInfo) |
Definiuje i reprezentuje metodę (lub konstruktor) w klasie dynamicznej. (Odziedziczone po MemberInfo) |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Dynamicznie wywołuje metodę odzwierciedlaną przez to wystąpienie na danym obiekcie, przekazując określone parametry i pod ograniczeniami danego elementu binder. |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Podczas zastępowania w klasie pochodnej wywołuje odbitą metodę lub konstruktor z podanymi parametrami. (Odziedziczone po MethodBase) |
Invoke(Object, Object[]) |
Wywołuje metodę lub konstruktor reprezentowany przez bieżące wystąpienie przy użyciu określonych parametrów. (Odziedziczone po MethodInfo) |
IsDefined(Type, Boolean) |
Sprawdza, czy określony typ atrybutu niestandardowego jest zdefiniowany. |
IsDefined(Type, Boolean) |
Po przesłonięciu w klasie pochodnej wskazuje, czy do tego elementu członkowskiego zastosowano co najmniej jeden atrybut określonego typu lub jego typów pochodnych. (Odziedziczone po MemberInfo) |
MakeGenericMethod(Type[]) |
Zwraca metodę ogólną skonstruowaną z bieżącej definicji metody ogólnej przy użyciu określonych argumentów typu ogólnego. |
MakeGenericMethod(Type[]) |
Podstawia elementy tablicy typów dla parametrów typu bieżącej definicji metody ogólnej i zwraca MethodInfo obiekt reprezentujący wynikową skonstruowaną metodę. (Odziedziczone po MethodInfo) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
SetCustomAttribute(ConstructorInfo, Byte[]) |
Ustawia atrybut niestandardowy przy użyciu określonego obiektu blob atrybutu niestandardowego. |
SetCustomAttribute(CustomAttributeBuilder) |
Ustawia atrybut niestandardowy przy użyciu konstruktora atrybutów niestandardowych. |
SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>) |
Po zastąpieniu w klasie pochodnej ustawia atrybut niestandardowy dla tego zestawu. |
SetImplementationFlags(MethodImplAttributes) |
Ustawia flagi implementacji dla tej metody. |
SetImplementationFlagsCore(MethodImplAttributes) |
Po zastąpieniu w klasie pochodnej ustawia flagi implementacji dla tej metody. |
SetMarshal(UnmanagedMarshal) |
Przestarzałe.
Ustawia marshaling informacji dla zwracanego typu tej metody. |
SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>) |
Tworzy treść metody przy użyciu określonej tablicy bajtów instrukcji języka microsoft intermediate language (MSIL). |
SetParameters(Type[]) |
Ustawia liczbę i typy parametrów dla metody. |
SetReturnType(Type) |
Ustawia zwracany typ metody. |
SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) |
Ustawia sygnaturę metody, w tym typ zwracany, typy parametrów oraz wymagane i opcjonalne modyfikatory niestandardowe zwracanego typu i typów parametrów. |
SetSignatureCore(Type, Type[], Type[], Type[], Type[][], Type[][]) |
Po zastąpieniu w klasie pochodnej ustawia sygnaturę metody, w tym typ zwracany, typy parametrów oraz wymagane i opcjonalne modyfikatory niestandardowe zwracanego typu i typów parametrów. |
SetSymCustomAttribute(String, Byte[]) |
Ustaw symboliczny atrybut niestandardowy przy użyciu obiektu blob. |
ToString() |
Zwraca to |
Jawne implementacje interfejsu
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po MemberInfo) |
_MemberInfo.GetType() |
Type Pobiera obiekt reprezentujący klasęMemberInfo. (Odziedziczone po MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu. (Odziedziczone po MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po MemberInfo) |
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po MethodBase) |
_MethodBase.GetType() |
Aby uzyskać opis tego członka, zobacz GetType(). (Odziedziczone po MethodBase) |
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu. (Odziedziczone po MethodBase) |
_MethodBase.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po MethodBase) |
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po MethodBase) |
_MethodBase.IsAbstract |
Aby uzyskać opis tego członka, zobacz IsAbstract. (Odziedziczone po MethodBase) |
_MethodBase.IsAssembly |
Aby uzyskać opis tego członka, zobacz IsAssembly. (Odziedziczone po MethodBase) |
_MethodBase.IsConstructor |
Aby uzyskać opis tego członka, zobacz IsConstructor. (Odziedziczone po MethodBase) |
_MethodBase.IsFamily |
Aby uzyskać opis tego członka, zobacz IsFamily. (Odziedziczone po MethodBase) |
_MethodBase.IsFamilyAndAssembly |
Aby uzyskać opis tego członka, zobacz IsFamilyAndAssembly. (Odziedziczone po MethodBase) |
_MethodBase.IsFamilyOrAssembly |
Aby uzyskać opis tego członka, zobacz IsFamilyOrAssembly. (Odziedziczone po MethodBase) |
_MethodBase.IsFinal |
Aby uzyskać opis tego członka, zobacz IsFinal. (Odziedziczone po MethodBase) |
_MethodBase.IsHideBySig |
Aby uzyskać opis tego członka, zobacz IsHideBySig. (Odziedziczone po MethodBase) |
_MethodBase.IsPrivate |
Aby uzyskać opis tego członka, zobacz IsPrivate. (Odziedziczone po MethodBase) |
_MethodBase.IsPublic |
Aby uzyskać opis tego członka, zobacz IsPublic. (Odziedziczone po MethodBase) |
_MethodBase.IsSpecialName |
Aby uzyskać opis tego członka, zobacz IsSpecialName. (Odziedziczone po MethodBase) |
_MethodBase.IsStatic |
Aby uzyskać opis tego członka, zobacz IsStatic. (Odziedziczone po MethodBase) |
_MethodBase.IsVirtual |
Aby uzyskać opis tego członka, zobacz IsVirtual. (Odziedziczone po MethodBase) |
_MethodBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. |
_MethodBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu. |
_MethodBuilder.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). |
_MethodBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. |
_MethodInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po MethodInfo) |
_MethodInfo.GetType() |
Zapewnia dostęp do GetType() metody z modelu COM. (Odziedziczone po MethodInfo) |
_MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu. (Odziedziczone po MethodInfo) |
_MethodInfo.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po MethodInfo) |
_MethodInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po MethodInfo) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Zwraca tablicę wszystkich atrybutów niestandardowych zdefiniowanych w tym elemencie członkowskim, z wyłączeniem nazwanych atrybutów lub pustą tablicą, jeśli nie ma atrybutów niestandardowych. (Odziedziczone po MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Zwraca tablicę atrybutów niestandardowych zdefiniowanych na tym elemencie członkowskim, identyfikowaną przez typ lub pustą tablicę, jeśli nie ma atrybutów niestandardowych tego typu. (Odziedziczone po MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Wskazuje, czy na tym elemencie członkowskim zdefiniowano jedno lub więcej wystąpień |
Metody rozszerzania
GetCustomAttribute(MemberInfo, Type) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego. |
GetCustomAttribute<T>(MemberInfo) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego. |
GetCustomAttributes(MemberInfo) |
Pobiera kolekcję atrybutów niestandardowych, które są stosowane do określonego elementu członkowskiego. |
GetCustomAttributes(MemberInfo, Boolean) |
Pobiera kolekcję atrybutów niestandardowych, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego. |
GetCustomAttributes(MemberInfo, Type) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego. |
GetCustomAttributes<T>(MemberInfo) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego. |
IsDefined(MemberInfo, Type) |
Wskazuje, czy atrybuty niestandardowe określonego typu są stosowane do określonego elementu członkowskiego. |
IsDefined(MemberInfo, Type, Boolean) |
Wskazuje, czy atrybuty niestandardowe określonego typu są stosowane do określonego elementu członkowskiego i, opcjonalnie, stosowane do jego elementów nadrzędnych. |
GetMetadataToken(MemberInfo) |
Pobiera token metadanych dla danego elementu członkowskiego, jeśli jest dostępny. |
HasMetadataToken(MemberInfo) |
Zwraca wartość wskazującą, czy token metadanych jest dostępny dla określonego elementu członkowskiego. |
GetBaseDefinition(MethodInfo) |
Definiuje i reprezentuje metodę (lub konstruktor) w klasie dynamicznej. |
GetRuntimeBaseDefinition(MethodInfo) |
Pobiera obiekt reprezentujący określoną metodę w bezpośrednich lub pośrednich klasach bazowych, w których metoda została po raz pierwszy zadeklarowana. |