OpCodes.TakesSingleByteArgument メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim inst As OpCode Dim returnValue As Boolean returnValue = OpCodes.TakesSingleByteArgument(inst)
戻り値
True または false。

このメソッドは、どの MSIL オペコードが最適化されたコードで使用する "短い形式" かを見つけるときに使用できます。
OpCode のインスタンスが以下の場合に 1 バイトの引数を使用する場合、TakesSingleByteArgument は true を返します。
TakesSingleByteArgument を使用し、OpCodes クラスにリフレクションして、1 バイト引数をとるかどうかを各 OpCode フィールドでテストする例を次に示します。
Public Shared Sub Main() ' We need a blank OpCode object for reference when calling FieldInfo.GetValue(). Dim blankOpCode As New OpCode() Dim myOpCodesType As Type = Type.GetType("System.Reflection.Emit.OpCodes") Dim listOfOpCodes As FieldInfo() = myOpCodesType.GetFields() Console.WriteLine("Which OpCodes take single-byte arguments?") Console.WriteLine("-----------------------------------------") ' Now, let's reflect on each FieldInfo and create an instance of the OpCode it represents. Dim opCodeFI As FieldInfo For Each opCodeFI In listOfOpCodes Dim theOpCode As Object = opCodeFI.GetValue(blankOpCode) Console.WriteLine("{0}: {1}", opCodeFI.Name, _ OpCodes.TakesSingleByteArgument(CType(theOpCode, OpCode)).ToString()) Next opCodeFI End Sub 'Main
public static void Main() { // We need a blank OpCode object for reference when calling FieldInfo.GetValue(). OpCode blankOpCode = new OpCode(); Type myOpCodesType = Type.GetType("System.Reflection.Emit.OpCodes"); FieldInfo[] listOfOpCodes = myOpCodesType.GetFields(); Console.WriteLine("Which OpCodes take single-byte arguments?"); Console.WriteLine("-----------------------------------------"); // Now, let's reflect on each FieldInfo and create an instance of the OpCode it represents. foreach (FieldInfo opCodeFI in listOfOpCodes) { object theOpCode = opCodeFI.GetValue(blankOpCode); Console.WriteLine("{0}: {1}", opCodeFI.Name, OpCodes.TakesSingleByteArgument((OpCode)theOpCode).ToString()); } }
int main() { // We need a blank OpCode Object for reference when calling FieldInfo::GetValue(). OpCode blankOpCode; Type^ myOpCodesType = Type::GetType( "System.Reflection.Emit.OpCodes" ); array<FieldInfo^>^listOfOpCodes = myOpCodesType->GetFields(); Console::WriteLine( "Which OpCodes take single-Byte arguments?" ); Console::WriteLine( "-----------------------------------------" ); // Now, let's reflect on each FieldInfo and create an instance of the OpCode it represents. System::Collections::IEnumerator^ myEnum = listOfOpCodes->GetEnumerator(); while ( myEnum->MoveNext() ) { FieldInfo^ opCodeFI = safe_cast<FieldInfo^>(myEnum->Current); Object^ theOpCode = opCodeFI->GetValue( blankOpCode ); Console::WriteLine( " {0}: {1}", opCodeFI->Name, OpCodes::TakesSingleByteArgument( *dynamic_cast<OpCode^>(theOpCode) ) ); } }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からOpCodes.TakesSingleByteArgument メソッドを検索する場合は、下記のリンクをクリックしてください。

- OpCodes.TakesSingleByteArgument メソッドのページへのリンク