このパラメータが出力パラメータかどうかを示す値を取得します。
Public ReadOnly Property IsOut As Boolean
[C#]
public bool IsOut {get;}
[C++]
public: __property bool get_IsOut();
[JScript]
public function get IsOut() : Boolean;
プロパティ値
パラメータが出力パラメータの場合は true 。それ以外の場合は false 。
解説
このメソッドは、オプションのメタデータ フラグに依存します。このフラグは、コンパイラで挿入できますが、必ず挿入されるとは限りません。
このメソッドは、 ParameterAttributes 列挙子の Out フラグを利用します。
ParameterInfo 配列を取得するには、最初にメソッドまたはコンストラクタを取得してから MethodBase.GetParameters を呼び出します。
使用例
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
Class parminfo
Public Shared Sub mymethod(int1m As Integer, ByRef str2m As String, _
ByRef str3m As String)
str2m = "in mymethod"
End Sub
Public Shared Function Main() As Integer
Console.WriteLine(ControlChars.CrLf + "Reflection.Parameterinfo")
'Get the ParameterInfo parameter of a function.
'Get the type.
Dim Mytype As Type = Type.GetType("parminfo")
'Get and display the method.
Dim Mymethodbase As MethodBase = Mytype.GetMethod("mymethod")
Console.Write(ControlChars.CrLf + "Mymethodbase = " _
+ Mymethodbase.ToString())
'Get the ParameterInfo array.
Dim Myarray As ParameterInfo() = Mymethodbase.GetParameters()
'Get and display the IsOut of each parameter.
Dim Myparam As ParameterInfo
For Each Myparam In Myarray
Console.Write(ControlChars.CrLf _
+ "For parameter # " + Myparam.Position.ToString() _
+ ", the IsOut is - " + Myparam.IsOut.ToString())
Next Myparam
Return 0
End Function
End Class
' This code produces the following output:
'
' Reflection.ParameterInfo
'
' Mymethodbase = Void mymethod (Int32, System.String ByRef, System.String ByRef)
' For parameter # 0, the IsOut is - False
' For parameter # 1, the IsOut is - True
' For parameter # 2, the IsOut is - False
[C#]
using System;
using System.Reflection;
class parminfo
{
public static void mymethod (
int int1m, out string str2m, ref string str3m)
{
str2m = "in mymethod";
}
public static int Main(string[] args)
{
Console.WriteLine("\nReflection.Parameterinfo");
//Get the ParameterInfo parameter of a function.
//Get the type.
Type Mytype = Type.GetType("parminfo");
//Get and display the method.
MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
Console.Write("\nMymethodbase = " + Mymethodbase);
//Get the ParameterInfo array.
ParameterInfo[] Myarray = Mymethodbase.GetParameters();
//Get and display the IsOut of each parameter.
foreach (ParameterInfo Myparam in Myarray)
{
Console.Write ("\nFor parameter # " + Myparam.Position
+ ", the IsOut is - " + Myparam.IsOut );
}
return 0;
}
}
/*
This code produces the following output:
Reflection.ParameterInfo
Mymethodbase = Void mymethod (Int32, System.String ByRef, System.String ByRef)
For parameter # 0, the IsOut is - False
For parameter # 1, the IsOut is - True
For parameter # 2, the IsOut is - False
*/
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
public __gc class parminfo
{
public:
static void mymethod (int int1m, [Out] String** str2m, String** str3m)
{
*str2m = S"in mymethod";
}
};
int main()
{
Console::WriteLine(S"\nReflection.Parameterinfo");
//Get the ParameterInfo parameter of a function.
//Get the type.
Type* Mytype = Type::GetType(S"parminfo");
//Get and display the method.
MethodBase* Mymethodbase = Mytype->GetMethod(S"mymethod");
Console::Write(S"\nMymethodbase = {0}", Mymethodbase);
//Get the ParameterInfo array.
ParameterInfo* Myarray[] = Mymethodbase->GetParameters();
//Get and display the IsOut of each parameter.
System::Collections::IEnumerator* enum0 = Myarray->GetEnumerator();
while (enum0->MoveNext())
{
ParameterInfo* Myparam = __try_cast<ParameterInfo*>(enum0->Current);
Console::Write (S"\nFor parameter # {0}, the IsOut is - {1}",
__box(Myparam->Position), __box(Myparam->IsOut));
}
return 0;
}
/*
This code produces the following output:
Reflection.ParameterInfo
Mymethodbase = Void mymethod (Int32, System.String ByRef, System.String ByRef)
For parameter # 0, the IsOut is - False
For parameter # 1, the IsOut is - True
For parameter # 2, the IsOut is - False
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
ParameterInfo クラス | ParameterInfo メンバ | System.Reflection 名前空間