MethodBuilder Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendefinisikan dan mewakili metode (atau konstruktor) pada kelas dinamis.
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
- Warisan
- Atribut
- Penerapan
Contoh
Contoh berikut menggunakan MethodBuilder kelas untuk membuat metode dalam jenis dinamis.
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
Keterangan
Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk MethodBuilder.
Konstruktor
MethodBuilder() |
Menginisialisasi instans baru kelas MethodBuilder. |
Properti
Attributes |
Mengambil atribut untuk metode ini. |
CallingConvention |
Mengembalikan konvensi panggilan metode . |
ContainsGenericParameters |
Tidak didukung untuk tipe ini. |
ContainsGenericParameters |
Mendapatkan nilai yang menunjukkan apakah metode generik berisi parameter jenis generik yang tidak ditetapkan. (Diperoleh dari MethodInfo) |
CustomAttributes |
Mendapatkan koleksi yang berisi atribut kustom anggota ini. (Diperoleh dari MemberInfo) |
DeclaringType |
Mengembalikan tipe yang menyatakan metode ini. |
InitLocals |
Mendapatkan atau menetapkan nilai Boolean yang menentukan apakah variabel lokal dalam metode ini tidak diinisialisasi. Nilai default properti ini adalah |
InitLocalsCore |
Ketika ditimpa di kelas turunan, mendapatkan atau menetapkan nilai yang menunjukkan apakah variabel lokal dalam metode ini diinisialisasi nol. |
IsAbstract |
Mendapatkan nilai yang menunjukkan apakah metode tersebut abstrak. (Diperoleh dari MethodBase) |
IsAssembly |
Mendapatkan nilai yang menunjukkan apakah visibilitas potensial dari metode atau konstruktor ini dijelaskan oleh ; yaitu, metode atau konstruktor terlihat paling banyak ke jenis lain dalam perakitan yang sama, dan tidak terlihat oleh Assemblyjenis turunan di luar perakitan. (Diperoleh dari MethodBase) |
IsCollectible |
Mendapatkan nilai yang menunjukkan apakah objek ini MemberInfo adalah bagian dari perakitan yang dipegang dalam koleksi AssemblyLoadContext. (Diperoleh dari MemberInfo) |
IsConstructedGenericMethod |
Mendefinisikan dan mewakili metode (atau konstruktor) pada kelas dinamis. |
IsConstructedGenericMethod |
Mendefinisikan dan mewakili metode (atau konstruktor) pada kelas dinamis. (Diperoleh dari MethodBase) |
IsConstructor |
Mendapatkan nilai yang menunjukkan apakah metode tersebut adalah konstruktor. (Diperoleh dari MethodBase) |
IsFamily |
Mendapatkan nilai yang menunjukkan apakah visibilitas metode atau konstruktor ini dijelaskan oleh Family; yaitu, metode atau konstruktor hanya terlihat dalam kelas dan kelas turunannya. (Diperoleh dari MethodBase) |
IsFamilyAndAssembly |
Mendapatkan nilai yang menunjukkan apakah visibilitas metode atau konstruktor ini dijelaskan oleh FamANDAssem; yaitu, metode atau konstruktor dapat dipanggil oleh kelas turunan, tetapi hanya jika mereka berada dalam perakitan yang sama. (Diperoleh dari MethodBase) |
IsFamilyOrAssembly |
Mendapatkan nilai yang menunjukkan apakah visibilitas potensial dari metode atau konstruktor ini dijelaskan oleh FamORAssem; yaitu, metode atau konstruktor dapat dipanggil oleh kelas turunan di mana pun mereka berada, dan berdasarkan kelas dalam perakitan yang sama. (Diperoleh dari MethodBase) |
IsFinal |
Mendapatkan nilai yang menunjukkan apakah metode ini adalah |
IsGenericMethod |
Mendapatkan nilai yang menunjukkan apakah metode tersebut adalah metode generik. |
IsGenericMethod |
Mendapatkan nilai yang menunjukkan apakah metode saat ini adalah metode generik. (Diperoleh dari MethodInfo) |
IsGenericMethodDefinition |
Mendapatkan nilai yang menunjukkan apakah objek saat ini MethodBuilder mewakili definisi metode generik. |
IsGenericMethodDefinition |
Mendapatkan nilai yang menunjukkan apakah saat ini MethodInfo mewakili definisi metode generik. (Diperoleh dari MethodInfo) |
IsHideBySig |
Mendapatkan nilai yang menunjukkan apakah hanya anggota dari jenis yang sama dengan tanda tangan yang sama persis yang disembunyikan di kelas turunan. (Diperoleh dari MethodBase) |
IsPrivate |
Mendapatkan nilai yang menunjukkan apakah anggota ini bersifat privat. (Diperoleh dari MethodBase) |
IsPublic |
Mendapatkan nilai yang menunjukkan apakah ini adalah metode publik. (Diperoleh dari MethodBase) |
IsSecurityCritical |
NotSupportedException Melemparkan dalam semua kasus. |
IsSecurityCritical |
Mendapatkan nilai yang menunjukkan apakah metode atau konstruktor saat ini kritis terhadap keamanan atau keamanan-aman-kritis pada tingkat kepercayaan saat ini, dan karenanya dapat melakukan operasi penting. (Diperoleh dari MethodBase) |
IsSecuritySafeCritical |
NotSupportedException Melemparkan dalam semua kasus. |
IsSecuritySafeCritical |
Mendapatkan nilai yang menunjukkan apakah metode atau konstruktor saat ini kritis keamanan-aman pada tingkat kepercayaan saat ini; yaitu, apakah dapat melakukan operasi penting dan dapat diakses dengan kode transparan. (Diperoleh dari MethodBase) |
IsSecurityTransparent |
NotSupportedException Melemparkan dalam semua kasus. |
IsSecurityTransparent |
Mendapatkan nilai yang menunjukkan apakah metode atau konstruktor saat ini transparan pada tingkat kepercayaan saat ini, dan karenanya tidak dapat melakukan operasi penting. (Diperoleh dari MethodBase) |
IsSpecialName |
Mendapatkan nilai yang menunjukkan apakah metode ini memiliki nama khusus. (Diperoleh dari MethodBase) |
IsStatic |
Mendapatkan nilai yang menunjukkan apakah metodenya adalah |
IsVirtual |
Mendapatkan nilai yang menunjukkan apakah metodenya adalah |
MemberType |
Mendapatkan nilai yang MemberTypes menunjukkan bahwa anggota ini adalah metode . (Diperoleh dari MethodInfo) |
MetadataToken |
Mendapatkan token yang mengidentifikasi modul dinamis saat ini dalam metadata. |
MetadataToken |
Mendapatkan nilai yang mengidentifikasi elemen metadata. (Diperoleh dari MemberInfo) |
MethodHandle |
Mengambil handel internal untuk metode . Gunakan handel ini untuk mengakses handel metadata yang mendasar. |
MethodHandle |
Mendapatkan handel ke representasi metadata internal metode . (Diperoleh dari MethodBase) |
MethodImplementationFlags |
Mendefinisikan dan mewakili metode (atau konstruktor) pada kelas dinamis. |
MethodImplementationFlags |
MethodImplAttributes Mendapatkan bendera yang menentukan atribut implementasi metode. (Diperoleh dari MethodBase) |
Module |
Mendapatkan modul di mana metode saat ini sedang didefinisikan. |
Module |
Mendapatkan modul di mana jenis yang menyatakan anggota yang diwakili oleh saat ini MemberInfo ditentukan. (Diperoleh dari MemberInfo) |
Name |
Mengambil nama metode ini. |
ReflectedType |
Mengambil kelas yang digunakan dalam refleksi untuk mendapatkan objek ini. |
ReflectedType |
Mendapatkan objek kelas yang digunakan untuk mendapatkan instans ini dari |
ReturnParameter |
ParameterInfo Mendapatkan objek yang berisi informasi tentang jenis pengembalian metode, seperti apakah jenis pengembalian memiliki pengubah kustom. |
ReturnParameter |
ParameterInfo Mendapatkan objek yang berisi informasi tentang jenis pengembalian metode, seperti apakah jenis pengembalian memiliki pengubah kustom. (Diperoleh dari MethodInfo) |
ReturnType |
Mendapatkan jenis pengembalian metode yang diwakili oleh ini MethodBuilder. |
ReturnType |
Mendapatkan jenis pengembalian dari metode ini. (Diperoleh dari MethodInfo) |
ReturnTypeCustomAttributes |
Mengembalikan atribut kustom dari jenis pengembalian metode. |
ReturnTypeCustomAttributes |
Mendapatkan atribut kustom untuk jenis pengembalian. (Diperoleh dari MethodInfo) |
Signature |
Mengambil tanda tangan metode . |
Metode
AddDeclarativeSecurity(SecurityAction, PermissionSet) |
Menambahkan keamanan deklaratif ke metode ini. |
CreateDelegate(Type) |
Membuat delegasi jenis yang ditentukan dari metode ini. (Diperoleh dari MethodInfo) |
CreateDelegate(Type, Object) |
Membuat delegasi jenis yang ditentukan dengan target yang ditentukan dari metode ini. (Diperoleh dari MethodInfo) |
CreateDelegate<T>() |
Membuat delegasi jenis |
CreateDelegate<T>(Object) |
Membuat delegasi jenis |
CreateMethodBody(Byte[], Int32) |
Membuat isi metode menggunakan array byte yang disediakan dari instruksi Microsoft intermediate language (MSIL). |
DefineGenericParameters(String[]) |
Mengatur jumlah parameter jenis generik untuk metode saat ini, menentukan namanya, dan mengembalikan array GenericTypeParameterBuilder objek yang dapat digunakan untuk menentukan batasannya. |
DefineGenericParametersCore(String[]) |
Saat ditimpa dalam kelas turunan, mengatur jumlah parameter jenis generik untuk metode saat ini, menentukan namanya, dan mengembalikan array GenericTypeParameterBuilder objek yang dapat digunakan untuk menentukan batasannya. |
DefineParameter(Int32, ParameterAttributes, String) |
Mengatur atribut parameter dan nama parameter metode ini, atau dari nilai pengembalian metode ini. Mengembalikan ParameterBuilder yang dapat digunakan untuk menerapkan atribut kustom. |
DefineParameterCore(Int32, ParameterAttributes, String) |
Ketika ditimpa di kelas turunan, menentukan parameter atau parameter pengembalian untuk metode ini. |
Equals(Object) |
Menentukan apakah objek yang diberikan sama dengan instans ini. |
GetBaseDefinition() |
Mengembalikan implementasi dasar untuk metode . |
GetBaseDefinition() |
Ketika ditimpa dalam kelas turunan, mengembalikan MethodInfo objek untuk metode pada kelas dasar langsung atau tidak langsung di mana metode yang diwakili oleh instans ini pertama kali dideklarasikan. (Diperoleh dari MethodInfo) |
GetCustomAttributes(Boolean) |
Mengembalikan semua atribut kustom yang ditentukan untuk metode ini. |
GetCustomAttributes(Boolean) |
Saat ditimpa di kelas turunan, mengembalikan array semua atribut kustom yang diterapkan ke anggota ini. (Diperoleh dari MemberInfo) |
GetCustomAttributes(Type, Boolean) |
Mengembalikan atribut kustom yang diidentifikasi oleh jenis yang diberikan. |
GetCustomAttributes(Type, Boolean) |
Saat ditimpa di kelas turunan, mengembalikan array atribut kustom yang diterapkan ke anggota ini dan diidentifikasi oleh Type. (Diperoleh dari MemberInfo) |
GetCustomAttributesData() |
Mengembalikan daftar CustomAttributeData objek yang mewakili data tentang atribut yang telah diterapkan ke anggota target. (Diperoleh dari MemberInfo) |
GetGenericArguments() |
Mengembalikan array GenericTypeParameterBuilder objek yang mewakili parameter jenis metode, jika generik. |
GetGenericArguments() |
Mengembalikan array Type objek yang mewakili argumen jenis metode generik atau parameter jenis definisi metode generik. (Diperoleh dari MethodInfo) |
GetGenericMethodDefinition() |
Mengembalikan metode ini. |
GetGenericMethodDefinition() |
MethodInfo Mengembalikan objek yang mewakili definisi metode generik tempat metode saat ini dapat dibangun. (Diperoleh dari MethodInfo) |
GetHashCode() |
Mendapatkan kode hash untuk metode ini. |
GetILGenerator() |
|
GetILGenerator(Int32) |
Mengembalikan |
GetILGeneratorCore(Int32) |
Ketika ditimpa di kelas turunan ILGenerator , mendapatkan yang dapat digunakan untuk memancarkan isi metode untuk metode ini. |
GetMethodBody() |
Ketika ditimpa di kelas turunan, mendapatkan MethodBody objek yang menyediakan akses ke aliran MSIL, variabel lokal, dan pengecualian untuk metode saat ini. (Diperoleh dari MethodBase) |
GetMethodImplementationFlags() |
Mengembalikan bendera implementasi untuk metode . |
GetMethodImplementationFlags() |
Saat ditimpa di kelas turunan MethodImplAttributes , mengembalikan bendera. (Diperoleh dari MethodBase) |
GetModule() |
Mengembalikan referensi ke modul yang berisi metode ini. |
GetParameters() |
Mengembalikan parameter metode ini. |
GetToken() |
Mengembalikan |
GetType() |
Menemukan atribut metode dan menyediakan akses ke metadata metode. (Diperoleh dari MethodInfo) |
HasSameMetadataDefinitionAs(MemberInfo) |
Mendefinisikan dan mewakili metode (atau konstruktor) pada kelas dinamis. (Diperoleh dari MemberInfo) |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Secara dinamis memanggil metode yang tercermin oleh instans ini pada objek yang diberikan, melewati parameter yang ditentukan, dan di bawah batasan pengikat yang diberikan. |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Ketika ditimpa di kelas turunan, memanggil metode atau konstruktor yang tercermin dengan parameter yang diberikan. (Diperoleh dari MethodBase) |
Invoke(Object, Object[]) |
Memanggil metode atau konstruktor yang diwakili oleh instans saat ini, menggunakan parameter yang ditentukan. (Diperoleh dari MethodInfo) |
IsDefined(Type, Boolean) |
Memeriksa apakah jenis atribut kustom yang ditentukan ditentukan. |
IsDefined(Type, Boolean) |
Ketika ditimpa di kelas turunan, menunjukkan apakah satu atau beberapa atribut dari jenis yang ditentukan atau jenis turunannya diterapkan kepada anggota ini. (Diperoleh dari MemberInfo) |
MakeGenericMethod(Type[]) |
Mengembalikan metode generik yang dibangun dari definisi metode generik saat ini menggunakan argumen jenis generik yang ditentukan. |
MakeGenericMethod(Type[]) |
Mengganti elemen larik tipe untuk parameter jenis dari definisi metode generik saat ini, dan menghasilkan objek MethodInfo yang mewakili metode konstruiksi yang dibuat. (Diperoleh dari MethodInfo) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
SetCustomAttribute(ConstructorInfo, Byte[]) |
Mengatur atribut kustom menggunakan blob atribut kustom tertentu. |
SetCustomAttribute(CustomAttributeBuilder) |
Mengatur atribut kustom menggunakan penyusun atribut kustom. |
SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>) |
Saat ditimpa di kelas turunan, mengatur atribut kustom pada assembly ini. |
SetImplementationFlags(MethodImplAttributes) |
Mengatur bendera implementasi untuk metode ini. |
SetImplementationFlagsCore(MethodImplAttributes) |
Ketika ditimpa di kelas turunan, mengatur bendera implementasi untuk metode ini. |
SetMarshal(UnmanagedMarshal) |
Kedaluwarsa.
Mengatur informasi marsekal untuk jenis pengembalian metode ini. |
SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>) |
Membuat isi metode dengan menggunakan array byte tertentu dari instruksi Microsoft intermediate language (MSIL). |
SetParameters(Type[]) |
Mengatur jumlah dan jenis parameter untuk metode . |
SetReturnType(Type) |
Mengatur jenis pengembalian metode. |
SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) |
Mengatur tanda tangan metode, termasuk jenis pengembalian, jenis parameter, dan pengubah kustom yang diperlukan dan opsional dari jenis pengembalian dan jenis parameter. |
SetSignatureCore(Type, Type[], Type[], Type[], Type[][], Type[][]) |
Saat ditimpa di kelas turunan, mengatur tanda tangan metode, termasuk jenis pengembalian, jenis parameter, dan pengubah kustom yang diperlukan dan opsional dari jenis pengembalian dan jenis parameter. |
SetSymCustomAttribute(String, Byte[]) |
Atur atribut kustom simbolis menggunakan blob. |
ToString() |
Mengembalikan instans ini |
Implementasi Antarmuka Eksplisit
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari MemberInfo) |
_MemberInfo.GetType() |
Mendapatkan objek yang Type mewakili MemberInfo kelas . (Diperoleh dari MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari MemberInfo) |
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari MethodBase) |
_MethodBase.GetType() |
Untuk deskripsi anggota ini, lihat GetType(). (Diperoleh dari MethodBase) |
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari MethodBase) |
_MethodBase.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari MethodBase) |
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari MethodBase) |
_MethodBase.IsAbstract |
Untuk deskripsi anggota ini, lihat IsAbstract. (Diperoleh dari MethodBase) |
_MethodBase.IsAssembly |
Untuk deskripsi anggota ini, lihat IsAssembly. (Diperoleh dari MethodBase) |
_MethodBase.IsConstructor |
Untuk deskripsi anggota ini, lihat IsConstructor. (Diperoleh dari MethodBase) |
_MethodBase.IsFamily |
Untuk deskripsi anggota ini, lihat IsFamily. (Diperoleh dari MethodBase) |
_MethodBase.IsFamilyAndAssembly |
Untuk deskripsi anggota ini, lihat IsFamilyAndAssembly. (Diperoleh dari MethodBase) |
_MethodBase.IsFamilyOrAssembly |
Untuk deskripsi anggota ini, lihat IsFamilyOrAssembly. (Diperoleh dari MethodBase) |
_MethodBase.IsFinal |
Untuk deskripsi anggota ini, lihat IsFinal. (Diperoleh dari MethodBase) |
_MethodBase.IsHideBySig |
Untuk deskripsi anggota ini, lihat IsHideBySig. (Diperoleh dari MethodBase) |
_MethodBase.IsPrivate |
Untuk deskripsi anggota ini, lihat IsPrivate. (Diperoleh dari MethodBase) |
_MethodBase.IsPublic |
Untuk deskripsi anggota ini, lihat IsPublic. (Diperoleh dari MethodBase) |
_MethodBase.IsSpecialName |
Untuk deskripsi anggota ini, lihat IsSpecialName. (Diperoleh dari MethodBase) |
_MethodBase.IsStatic |
Untuk deskripsi anggota ini, lihat IsStatic. (Diperoleh dari MethodBase) |
_MethodBase.IsVirtual |
Untuk deskripsi anggota ini, lihat IsVirtual. (Diperoleh dari MethodBase) |
_MethodBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. |
_MethodBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. |
_MethodBuilder.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). |
_MethodBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. |
_MethodInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari MethodInfo) |
_MethodInfo.GetType() |
Menyediakan akses ke GetType() metode dari COM. (Diperoleh dari MethodInfo) |
_MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari MethodInfo) |
_MethodInfo.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari MethodInfo) |
_MethodInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari MethodInfo) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Mengembalikan array dari semua atribut kustom yang ditentukan pada anggota ini, tidak termasuk atribut bernama, atau array kosong jika tidak ada atribut kustom. (Diperoleh dari MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Mengembalikan array atribut kustom yang ditentukan pada anggota ini, diidentifikasi berdasarkan jenis, atau array kosong jika tidak ada atribut kustom dari jenis tersebut. (Diperoleh dari MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Menunjukkan apakah satu atau beberapa |
Metode Ekstensi
GetCustomAttribute(MemberInfo, Type) |
Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut. |
GetCustomAttribute<T>(MemberInfo) |
Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut. |
GetCustomAttributes(MemberInfo) |
Mengambil kumpulan atribut kustom yang diterapkan ke anggota tertentu. |
GetCustomAttributes(MemberInfo, Boolean) |
Mengambil kumpulan atribut kustom yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut. |
GetCustomAttributes(MemberInfo, Type) |
Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut. |
GetCustomAttributes<T>(MemberInfo) |
Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut. |
IsDefined(MemberInfo, Type) |
Menunjukkan apakah atribut kustom dari jenis tertentu diterapkan ke anggota tertentu. |
IsDefined(MemberInfo, Type, Boolean) |
Menunjukkan apakah atribut kustom dari jenis tertentu diterapkan ke anggota tertentu, dan, secara opsional, diterapkan ke leluhurnya. |
GetMetadataToken(MemberInfo) |
Mendapatkan token metadata untuk anggota tertentu, jika tersedia. |
HasMetadataToken(MemberInfo) |
Mengembalikan nilai yang menunjukkan apakah token metadata tersedia untuk anggota yang ditentukan. |
GetBaseDefinition(MethodInfo) |
Mendefinisikan dan mewakili metode (atau konstruktor) pada kelas dinamis. |
GetRuntimeBaseDefinition(MethodInfo) |
Mengambil objek yang mewakili metode yang ditentukan pada kelas dasar langsung atau tidak langsung tempat metode pertama kali dideklarasikan. |