ArgIterator コンストラクタ (RuntimeArgumentHandle)
指定した引数リストを使用して、ArgIterator 構造体の新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文


ArgIterator コンストラクタのコード例を次に示します。
// This code example demonstrates the ArgIterator constructor. using System; public class Sample { public static void Main() { // Call a method with a variable argument list. int i=0; Test.printArg( (double)23.7, ref i, __arglist( typeof(int), "hello", UIntPtr.Zero ) ); } } public class Test { public unsafe static void printArg(double d, ref int i, __arglist) { // Get the argument list, starting at the first argument. ArgIterator args = new ArgIterator( __arglist, null); /* // Get the argument list, starting at the first optional argument. ArgIterator args = new ArgIterator( __arglist ); */ // Display the type of each argument in the argument list. TypedReference tr; while(true) { try { tr = args.GetNextArg(); Console.WriteLine( TypedReference.GetTargetType(tr) ); } catch ( InvalidOperationException ) { break; } } } } /* This code example produces the following results if you use "new ArgIterator( __arglist, null)": System.Double System.Int32 System.Type System.String System.UIntPtr This code example produces the following results if you use the commented statement, "new ArgIterator(__arglist)": System.Type System.String System.UIntPtr */

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


ArgIterator コンストラクタ
ArgIterator 構造体の新しいインスタンスを初期化します。
オーバーロードの一覧
名前 | 説明 |
---|---|
ArgIterator (RuntimeArgumentHandle) | 指定した引数リストを使用して、ArgIterator 構造体の新しいインスタンスを初期化します。 |
ArgIterator (RuntimeArgumentHandle, Void*) | 指定した引数リストとリスト内の項目へのポインタを使用して、ArgIterator 構造体の新しいインスタンスを初期化します。 |

ArgIterator コンストラクタ (RuntimeArgumentHandle, Void*)
指定した引数リストとリスト内の項目へのポインタを使用して、ArgIterator 構造体の新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文

新しい ArgIterator オブジェクトは、ptr で指定した引数から始まる引数リストを列挙します。ptr が null 参照 (Visual Basic では Nothing) の場合は、最初の必須の引数から始まる引数リストを列挙します。

ArgIterator コンストラクタのコード例を次に示します。
// This code example demonstrates the ArgIterator constructor. using System; public class Sample { public static void Main() { // Call a method with a variable argument list. int i=0; Test.printArg( (double)23.7, ref i, __arglist( typeof(int), "hello", UIntPtr.Zero ) ); } } public class Test { public unsafe static void printArg(double d, ref int i, __arglist) { // Get the argument list, starting at the first argument. ArgIterator args = new ArgIterator( __arglist, null); /* // Get the argument list, starting at the first optional argument. ArgIterator args = new ArgIterator( __arglist ); */ // Display the type of each argument in the argument list. TypedReference tr; while(true) { try { tr = args.GetNextArg(); Console.WriteLine( TypedReference.GetTargetType(tr) ); } catch ( InvalidOperationException ) { break; } } } } /* This code example produces the following results if you use "new ArgIterator( __arglist, null)": System.Double System.Int32 System.Type System.String System.UIntPtr This code example produces the following results if you use the commented statement, "new ArgIterator(__arglist)": System.Type System.String System.UIntPtr */

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


ArgIterator メソッド
名前 | 説明 | |
---|---|---|
![]() | End | このインスタンスによって表される可変長引数リストの処理を終了します。 |
![]() | Equals | オーバーロードされます。 オーバーライドされます。 |
![]() | GetHashCode | オーバーライドされます。 このオブジェクトのハッシュ コードを返します。 |
![]() | GetNextArg | オーバーロードされます。 可変長引数リストの次の引数を返します。 |
![]() | GetNextArgType | 次の引数の型を返します。 |
![]() | GetRemainingCount | 引数リストに示されている引数の数を返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | このインスタンスの完全修飾型名を返します。 ( ValueType から継承されます。) |

ArgIterator メンバ
さまざまな数の引数を受け取る関数のパラメータが示されている、可変長引数リストを表します。
ArgIterator データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | End | このインスタンスによって表される可変長引数リストの処理を終了します。 |
![]() | Equals | オーバーロードされます。 オーバーライドされます。 |
![]() | GetHashCode | オーバーライドされます。 このオブジェクトのハッシュ コードを返します。 |
![]() | GetNextArg | オーバーロードされます。 可変長引数リストの次の引数を返します。 |
![]() | GetNextArgType | 次の引数の型を返します。 |
![]() | GetRemainingCount | 引数リストに示されている引数の数を返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | このインスタンスの完全修飾型名を返します。 (ValueType から継承されます。) |

ArgIterator 構造体
さまざまな数の引数を受け取る関数のパラメータが示されている、可変長引数リストを表します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文

コンパイラを記述する開発者は、ArgIterator 構造体を使用して、引数リストの必須の引数および省略可能な引数を列挙します。ArgIterator 構造体は、通常、コンパイラ以外のアプリケーションでは役立ちません。
ArgIterator 構造体の機能は、通常、特定のプログラミング言語の構文に隠されています。たとえば、C++ プログラミング言語では、引数リストの末尾に省略記号 ("...") を指定して可変長の引数リストを宣言します。
実装時の注意 ArgIterator 構造体とそのメンバは、特に C/C++ プログラミング言語で使用するために用意されています。


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


- ArgIteratorのページへのリンク