MethodBuilder クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<ClassInterfaceAttribute(ClassInterfaceType.None)> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class MethodBuilder Inherits MethodInfo Implements _MethodBuilder
[ClassInterfaceAttribute(ClassInterfaceType.None)] [ComVisibleAttribute(true)] public sealed class MethodBuilder : MethodInfo, _MethodBuilder
[ClassInterfaceAttribute(ClassInterfaceType::None)] [ComVisibleAttribute(true)] public ref class MethodBuilder sealed : public MethodInfo, _MethodBuilder

![]() |
---|
このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、MayLeakOnAbort です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。 |
MethodBuilder を使用して、MSIL (Microsoft Intermediate Language) のメソッドを完全に記述します。名前、属性、シグネチャ、メソッド本体が含まれます。TypeBuilder クラスと組み合わせて使用され、実行時にクラスを作成します。

MethodBuilder クラスを使用して、動的な型の中にメソッドを作成する方法を次の例に示します。
Imports System Imports System.Threading Imports System.Reflection Imports System.Reflection.Emit _ Class DemoMethodBuilder Public Shared Sub AddMethodDynamically(ByRef myTypeBld As TypeBuilder, _ mthdName As String, _ mthdParams() As Type, _ returnType As Type, _ 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 'AddMethodDynamically Public Shared Sub Main() Dim myDomain As AppDomain = Thread.GetDomain() Dim asmName As New AssemblyName() asmName.Name = "DynamicAssembly1" Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly(asmName, _ AssemblyBuilderAccess.RunAndSave) Dim myModule As ModuleBuilder = myAsmBuilder.DefineDynamicModule("DynamicModule1", _ "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 or [M]ultiply these numbers? ") Dim myMthdAction As String = Console.ReadLine() 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 = "A" Then description = "adding" Else description = "multiplying" End If Console.WriteLine("---") Console.WriteLine("The result of {0} the inputted 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 'Main End Class 'DemoMethodBuilder
using System; using System.Threading; using System.Reflection; using System.Reflection.Emit; class DemoMethodBuilder { public static void AddMethodDynamically (ref 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 = Thread.GetDomain(); AssemblyName asmName = new AssemblyName(); asmName.Name = "DynamicAssembly1"; AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly( asmName, AssemblyBuilderAccess.RunAndSave); ModuleBuilder myModule = myAsmBuilder.DefineDynamicModule("DynamicModule1" , "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 or [M]ultiply these numbers? "); string myMthdAction = Console.ReadLine(); 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(ref myTypeBld, myMthdName, myMthdParams, typeof(int), myMthdAction); Type myType = myTypeBld.CreateType(); Console.WriteLine("---"); Console.WriteLine("The result of {0} the inputted values is: {1}" , ((myMthdAction == "A") ? "adding" : "multiplying") , 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()); } }
using namespace System; using namespace System::Threading; 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::Mul ); } } ILOut->Emit( OpCodes::Ret ); } int main() { AppDomain^ myDomain = Thread::GetDomain(); AssemblyName^ asmName = gcnew AssemblyName; asmName->Name = "DynamicAssembly1"; AssemblyBuilder^ myAsmBuilder = myDomain->DefineDynamicAssembly( asmName, AssemblyBuilderAccess::RunAndSave ); ModuleBuilder^ myModule = myAsmBuilder->DefineDynamicModule( "DynamicModule1", "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 or [M]ultiply these numbers? " ); String^ myMthdAction = Console::ReadLine(); 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( 0 ); array<Type^>^myMthdParams = gcnew array<Type^>(inputNumsList->Length); array<Object^>^inputValsList = gcnew array<Object^>(inputNumsList->Length); System::Collections::IEnumerator^ myEnum = inputNumsList->GetEnumerator(); while ( myEnum->MoveNext() ) { String^ inputNum = safe_cast<String^>(myEnum->Current); 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( "A" )) ? (String^)"adding" : "multiplying"), myType->InvokeMember( myMthdName, static_cast<BindingFlags>(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 ); }
import System.*; import System.Threading.*; import System.Reflection.*; import 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 (ubyte 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") == true) { iLout.Emit(OpCodes.Add); } else if (mthdAction.Equals("M") == true) { iLout.Emit(OpCodes.Mul); } else { iLout.Emit(OpCodes.Add); } } } iLout.Emit(OpCodes.Ret); } //AddMethodDynamically public static void main(String[] args) { AppDomain myDomain = System.Threading.Thread.GetDomain(); AssemblyName asmName = new AssemblyName(); asmName.set_Name("DynamicAssembly1"); AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.RunAndSave); ModuleBuilder myModule = myAsmBuilder.DefineDynamicModule ("DynamicModule1", "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 or [M]ultiply these numbers? "); String myMthdAction = Console.ReadLine(); 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(null); Type myMthdParams[] = new Type[inputNumsList.length]; Object inputValsList[] = new Object[inputNumsList.length]; for (int iCtr = 0; iCtr < inputNumsList.length; iCtr++) { String inputNum = inputNumsList[iCtr]; inputValsList[index] = (Object)(Int32)Integer.parseInt(inputNum); myMthdParams.set_Item(index, int.class.ToType()); index++; } // Now, call the method building method with the parameters , // passing the TypeBuilder by reference. AddMethodDynamically(myTypeBld, myMthdName, myMthdParams, int.class.ToType(), myMthdAction); Type myType = myTypeBld.CreateType(); Console.WriteLine("---"); Console.WriteLine("The result of {0} the inputted values is: {1}" , (myMthdAction.equals("A")) ? "adding" : "multiplying" , 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 the method you provided // during execution. myAsmBuilder.Save("MyDynamicAsm.dll"); MethodInfo myMthdInfo = myType.GetMethod(myMthdName); Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString()); } //main } //DemoMethodBuilder

System.Reflection.MemberInfo
System.Reflection.MethodBase
System.Reflection.MethodInfo
System.Reflection.Emit.MethodBuilder


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MethodBuilder プロパティ

名前 | 説明 | |
---|---|---|
![]() | Attributes | オーバーライドされます。 このメソッドの属性を取得します。 |
![]() | CallingConvention | オーバーライドされます。 メソッドの呼び出し規約を返します。 |
![]() | ContainsGenericParameters | オーバーライドされます。 この型ではサポートされていません。 |
![]() | DeclaringType | オーバーライドされます。 このメソッドを宣言する型を返します。 |
![]() | InitLocals | このメソッドのローカル変数を 0 で初期化するかどうかを指定するブール値を取得または設定します。このプロパティの既定値は true です。 |
![]() | IsAbstract | メソッドが抽象メソッドかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsAssembly | 同じアセンブリの異なるクラスからこのメソッドを呼び出すことができるかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsConstructor | メソッドがコンストラクタかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsFamily | このメソッドへのアクセスがクラスのメンバと派生クラスのメンバに制限されているかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsFamilyAndAssembly | 同じアセンブリの派生クラスからこのメソッドを呼び出すことができるかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsFamilyOrAssembly | すべての派生クラスおよび同じアセンブリのすべてのクラスからこのメソッドを呼び出すことができるかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsFinal | このメソッドが final かどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsGenericMethod | オーバーライドされます。 メソッドがジェネリック メソッドかどうかを示す値を取得します。 |
![]() | IsGenericMethodDefinition | オーバーライドされます。 現在の MethodBuilder オブジェクトがジェネリック メソッドの定義を表しているかどうかを示す値を取得します。 |
![]() | IsHideBySig | 派生クラスで、正確に同じシグネチャを持つ同じ種類のメンバだけが隠しメンバになるかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsPrivate | このメンバがプライベートかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsPublic | パブリック メソッドかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsSpecialName | 特別な名前のメソッドかどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsStatic | メソッドが static かどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | IsVirtual | メソッドが virtual かどうかを示す値を取得します。 ( MethodBase から継承されます。) |
![]() | MemberType | このメンバがメソッドであることを示す MemberTypes 値を取得します。 ( MethodInfo から継承されます。) |
![]() | MetadataToken | メタデータ要素を識別する値を取得します。 ( MemberInfo から継承されます。) |
![]() | MethodHandle | オーバーライドされます。 メソッドの内部ハンドルを取得します。基になるメタデータ ハンドルにアクセスするには、このハンドルを使用します。 |
![]() | Module | オーバーライドされます。 現在のメソッドを定義するモジュールを取得します。 |
![]() | Name | オーバーライドされます。 このメソッドの名前を取得します。 |
![]() | ReflectedType | オーバーライドされます。 このオブジェクトを取得するためにリフレクションで使用したクラスを取得します。 |
![]() | ReturnParameter | オーバーライドされます。 戻り値の型にカスタム修飾子があるかどうかなど、メソッドの戻り値の型に関する情報を格納している ParameterInfo オブジェクトを取得します。 |
![]() | ReturnType | このメソッドの戻り値の型を取得します。 ( MethodInfo から継承されます。) |
![]() | ReturnTypeCustomAttributes | オーバーライドされます。 メソッドの戻り値の型のカスタム属性を返します。 |
![]() | Signature | メソッドのシグネチャを取得します。 |

MethodBuilder メソッド

名前 | 説明 | |
---|---|---|
![]() | AddDeclarativeSecurity | このメソッドに宣言セキュリティを追加します。 |
![]() | CreateMethodBody | 指定した MSIL (Microsoft Intermediate Language) 命令のバイト配列を使用して、メソッドの本体を作成します。 |
![]() | DefineGenericParameters | 現在のメソッドのジェネリック型パラメータの数を設定し、その名前を指定し、制約の定義に使用できる GenericTypeParameterBuilder オブジェクトの配列を返します。 |
![]() | DefineParameter | このメソッドのパラメータを定義します。 |
![]() | Equals | オーバーロードされます。 オーバーライドされます。 2 つのオブジェクトが等しいかどうかを判断します。 |
![]() | GetBaseDefinition | オーバーライドされます。 メソッドの基本実装を返します。 |
![]() | GetCurrentMethod | 現在実行中のメソッドを表す MethodBase オブジェクトを返します。 ( MethodBase から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 オーバーライドされます。 このメソッドに対して定義されているカスタム属性を返します。 |
![]() | GetGenericArguments | オーバーライドされます。 メソッドがジェネリック メソッドの場合に、メソッドの型パラメータを表す GenericTypeParameterBuilder オブジェクトの配列を返します。 |
![]() | GetGenericMethodDefinition | オーバーライドされます。 このメソッドを返します。 |
![]() | GetHashCode | オーバーライドされます。 このメソッドのハッシュ コードを取得します。 |
![]() | GetILGenerator | オーバーロードされます。 このメソッドの ILGenerator を返します。 |
![]() | GetMethodBody | 派生クラスでオーバーライドされると、現在のメソッドの MSIL ストリーム、ローカル変数、および例外にアクセスできるようにする MethodBody オブジェクトを取得します。 ( MethodBase から継承されます。) |
![]() | GetMethodFromHandle | オーバーロードされます。 指定したハンドルを使用してメソッドの情報を取得します。 ( MethodBase から継承されます。) |
![]() | GetMethodImplementationFlags | オーバーライドされます。 メソッドの実装フラグを返します。 |
![]() | GetModule | このメソッドが含まれているモジュールへの参照を返します。 |
![]() | GetParameters | オーバーライドされます。 このメソッドのパラメータを返します。 |
![]() | GetToken | このメソッドのトークンを表す MethodToken を返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | Invoke | オーバーロードされます。 メソッドを呼び出します。 |
![]() | IsDefined | オーバーライドされます。 指定されたカスタム属性の型が定義されているかどうかを確認します。 |
![]() | MakeGenericMethod | オーバーライドされます。 指定したジェネリック型引数を使用して、現在のジェネリック メソッドの定義から構築されたジェネリック メソッドを返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | SetCustomAttribute | オーバーロードされます。 カスタム属性を設定します。 |
![]() | SetImplementationFlags | このメソッドの実装フラグを設定します。 |
![]() | SetMarshal | このメソッドの戻り値の型のマーシャリング情報を設定します。 |
![]() | SetParameters | メソッドのパラメータの数と型を設定します。 |
![]() | SetReturnType | メソッドの戻り値の型を設定します。 |
![]() | SetSignature | 戻り値の型、パラメータの型、戻り値の型とパラメータの型の必須およびオプションのカスタム修飾子を含むメソッド シグネチャを設定します。 |
![]() | SetSymCustomAttribute | BLOB を使用して、シンボリック カスタム属性を設定します。 |
![]() | ToString | オーバーライドされます。 この MethodBuilder インスタンスを文字列として返します。 |

名前 | 説明 | |
---|---|---|
![]() | System.Runtime.InteropServices._MethodBuilder.GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
![]() | System.Runtime.InteropServices._MethodBuilder.GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
![]() | System.Runtime.InteropServices._MethodBuilder.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
![]() | System.Runtime.InteropServices._MethodBuilder.Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |

MethodBuilder メンバ
動的クラスのメソッド (またはコンストラクタ) を定義および表現します。
MethodBuilder データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | Attributes | オーバーライドされます。 このメソッドの属性を取得します。 |
![]() | CallingConvention | オーバーライドされます。 メソッドの呼び出し規約を返します。 |
![]() | ContainsGenericParameters | オーバーライドされます。 この型ではサポートされていません。 |
![]() | DeclaringType | オーバーライドされます。 このメソッドを宣言する型を返します。 |
![]() | InitLocals | このメソッドのローカル変数を 0 で初期化するかどうかを指定するブール値を取得または設定します。このプロパティの既定値は true です。 |
![]() | IsAbstract | メソッドが抽象メソッドかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsAssembly | 同じアセンブリの異なるクラスからこのメソッドを呼び出すことができるかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsConstructor | メソッドがコンストラクタかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsFamily | このメソッドへのアクセスがクラスのメンバと派生クラスのメンバに制限されているかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsFamilyAndAssembly | 同じアセンブリの派生クラスからこのメソッドを呼び出すことができるかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsFamilyOrAssembly | すべての派生クラスおよび同じアセンブリのすべてのクラスからこのメソッドを呼び出すことができるかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsFinal | このメソッドが final かどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsGenericMethod | オーバーライドされます。 メソッドがジェネリック メソッドかどうかを示す値を取得します。 |
![]() | IsGenericMethodDefinition | オーバーライドされます。 現在の MethodBuilder オブジェクトがジェネリック メソッドの定義を表しているかどうかを示す値を取得します。 |
![]() | IsHideBySig | 派生クラスで、正確に同じシグネチャを持つ同じ種類のメンバだけが隠しメンバになるかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsPrivate | このメンバがプライベートかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsPublic | パブリック メソッドかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsSpecialName | 特別な名前のメソッドかどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsStatic | メソッドが static かどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | IsVirtual | メソッドが virtual かどうかを示す値を取得します。(MethodBase から継承されます。) |
![]() | MemberType | このメンバがメソッドであることを示す MemberTypes 値を取得します。(MethodInfo から継承されます。) |
![]() | MetadataToken | メタデータ要素を識別する値を取得します。(MemberInfo から継承されます。) |
![]() | MethodHandle | オーバーライドされます。 メソッドの内部ハンドルを取得します。基になるメタデータ ハンドルにアクセスするには、このハンドルを使用します。 |
![]() | Module | オーバーライドされます。 現在のメソッドを定義するモジュールを取得します。 |
![]() | Name | オーバーライドされます。 このメソッドの名前を取得します。 |
![]() | ReflectedType | オーバーライドされます。 このオブジェクトを取得するためにリフレクションで使用したクラスを取得します。 |
![]() | ReturnParameter | オーバーライドされます。 戻り値の型にカスタム修飾子があるかどうかなど、メソッドの戻り値の型に関する情報を格納している ParameterInfo オブジェクトを取得します。 |
![]() | ReturnType | このメソッドの戻り値の型を取得します。(MethodInfo から継承されます。) |
![]() | ReturnTypeCustomAttributes | オーバーライドされます。 メソッドの戻り値の型のカスタム属性を返します。 |
![]() | Signature | メソッドのシグネチャを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | AddDeclarativeSecurity | このメソッドに宣言セキュリティを追加します。 |
![]() | CreateMethodBody | 指定した MSIL (Microsoft Intermediate Language) 命令のバイト配列を使用して、メソッドの本体を作成します。 |
![]() | DefineGenericParameters | 現在のメソッドのジェネリック型パラメータの数を設定し、その名前を指定し、制約の定義に使用できる GenericTypeParameterBuilder オブジェクトの配列を返します。 |
![]() | DefineParameter | このメソッドのパラメータを定義します。 |
![]() | Equals | オーバーロードされます。 オーバーライドされます。 2 つのオブジェクトが等しいかどうかを判断します。 |
![]() | GetBaseDefinition | オーバーライドされます。 メソッドの基本実装を返します。 |
![]() | GetCurrentMethod | 現在実行中のメソッドを表す MethodBase オブジェクトを返します。 (MethodBase から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 オーバーライドされます。 このメソッドに対して定義されているカスタム属性を返します。 |
![]() | GetGenericArguments | オーバーライドされます。 メソッドがジェネリック メソッドの場合に、メソッドの型パラメータを表す GenericTypeParameterBuilder オブジェクトの配列を返します。 |
![]() | GetGenericMethodDefinition | オーバーライドされます。 このメソッドを返します。 |
![]() | GetHashCode | オーバーライドされます。 このメソッドのハッシュ コードを取得します。 |
![]() | GetILGenerator | オーバーロードされます。 このメソッドの ILGenerator を返します。 |
![]() | GetMethodBody | 派生クラスでオーバーライドされると、現在のメソッドの MSIL ストリーム、ローカル変数、および例外にアクセスできるようにする MethodBody オブジェクトを取得します。 (MethodBase から継承されます。) |
![]() | GetMethodFromHandle | オーバーロードされます。 指定したハンドルを使用してメソッドの情報を取得します。 (MethodBase から継承されます。) |
![]() | GetMethodImplementationFlags | オーバーライドされます。 メソッドの実装フラグを返します。 |
![]() | GetModule | このメソッドが含まれているモジュールへの参照を返します。 |
![]() | GetParameters | オーバーライドされます。 このメソッドのパラメータを返します。 |
![]() | GetToken | このメソッドのトークンを表す MethodToken を返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | Invoke | オーバーロードされます。 メソッドを呼び出します。 |
![]() | IsDefined | オーバーライドされます。 指定されたカスタム属性の型が定義されているかどうかを確認します。 |
![]() | MakeGenericMethod | オーバーライドされます。 指定したジェネリック型引数を使用して、現在のジェネリック メソッドの定義から構築されたジェネリック メソッドを返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | SetCustomAttribute | オーバーロードされます。 カスタム属性を設定します。 |
![]() | SetImplementationFlags | このメソッドの実装フラグを設定します。 |
![]() | SetMarshal | このメソッドの戻り値の型のマーシャリング情報を設定します。 |
![]() | SetParameters | メソッドのパラメータの数と型を設定します。 |
![]() | SetReturnType | メソッドの戻り値の型を設定します。 |
![]() | SetSignature | 戻り値の型、パラメータの型、戻り値の型とパラメータの型の必須およびオプションのカスタム修飾子を含むメソッド シグネチャを設定します。 |
![]() | SetSymCustomAttribute | BLOB を使用して、シンボリック カスタム属性を設定します。 |
![]() | ToString | オーバーライドされます。 この MethodBuilder インスタンスを文字列として返します。 |

名前 | 説明 | |
---|---|---|
![]() | System.Runtime.InteropServices._MethodBuilder.GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
![]() | System.Runtime.InteropServices._MethodBuilder.GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
![]() | System.Runtime.InteropServices._MethodBuilder.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
![]() | System.Runtime.InteropServices._MethodBuilder.Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |

_MethodBuilder インターフェイス
アセンブリ: mscorlib (mscorlib.dll 内)

<ComVisibleAttribute(True)> _ <GuidAttribute("007D8A14-FDF3-363E-9A0B-FEC0618260A2")> _ <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _ <CLSCompliantAttribute(False)> _ Public Interface _MethodBuilder
[ComVisibleAttribute(true)] [GuidAttribute("007D8A14-FDF3-363E-9A0B-FEC0618260A2")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] [CLSCompliantAttribute(false)] public interface _MethodBuilder
[ComVisibleAttribute(true)] [GuidAttribute(L"007D8A14-FDF3-363E-9A0B-FEC0618260A2")] [InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)] [CLSCompliantAttribute(false)] public interface class _MethodBuilder


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


_MethodBuilder メソッド

名前 | 説明 | |
---|---|---|
![]() | GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
![]() | GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
![]() | GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
![]() | Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |

_MethodBuilder メンバ
MethodBuilder クラスをアンマネージ コードに公開します。
_MethodBuilder データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
![]() | GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
![]() | GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
![]() | Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |

- MethodBuilderのページへのリンク