OpCodes.TakesSingleByteArgument メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > OpCodes.TakesSingleByteArgument メソッドの意味・解説 

OpCodes.TakesSingleByteArgument メソッド

提供されオペコード1 バイト引数をとる場合は、true または false返します

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function TakesSingleByteArgument
 ( _
    inst As OpCode _
) As Boolean
Dim inst As OpCode
Dim returnValue As Boolean

returnValue = OpCodes.TakesSingleByteArgument(inst)
public static bool TakesSingleByteArgument
 (
    OpCode inst
)
public:
static bool TakesSingleByteArgument (
    OpCode inst
)
public static boolean TakesSingleByteArgument
 (
    OpCode inst
)
public static function TakesSingleByteArgument
 (
    inst : OpCode
) : boolean

パラメータ

inst

Opcode オブジェクトインスタンス

戻り値
True または false

解説解説

このメソッドは、どの MSIL オペコード最適化されたコード使用する "短い形式" かを見つけるときに使用できます

OpCode のインスタンスが以下の場合1 バイト引数使用する場合TakesSingleByteArgumenttrue返します

それ以外場合は、false返します

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) ) );
   }
}

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OpCodes クラス
OpCodes メンバ
System.Reflection.Emit 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からOpCodes.TakesSingleByteArgument メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からOpCodes.TakesSingleByteArgument メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からOpCodes.TakesSingleByteArgument メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

OpCodes.TakesSingleByteArgument メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OpCodes.TakesSingleByteArgument メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS