ParameterInfo.IsOut Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som anger om det här är en utdataparameter.
public:
property bool IsOut { bool get(); };
public bool IsOut { get; }
member this.IsOut : bool
Public ReadOnly Property IsOut As Boolean
Egenskapsvärde
trueom parametern är en utdataparameter; annars . false
Exempel
I följande exempel visas hur du testar metodparametrar för attributen ParameterAttributes.In, ParameterAttributes.Outoch ParameterAttributes.Optional .
Exemplet innehåller en DefineMethod metod som gör följande:
Skapar en dynamisk sammansättning som innehåller en
MyTypetyp.Lägger till en
MyMethodmetod iMyType.MyMethodhar tre parametrar. Den första parametern definieras med ParameterAttributes.In, den andra med ParameterAttributes.Outoch den tredje med ParameterAttributes.Optional.Anropar TypeBuilder.CreateType för att slutföra typen.
När du har kört DefineMethodsöker exemplet igenom de sammansättningar som för närvarande läses in tills den hittar den dynamiska sammansättningen. Den läses in MyType från sammansättningen, hämtar ett MethodInfo objekt för MyMethod metoden och undersöker parametrarna. I exemplet används IsInegenskaperna , IsOutoch IsOptional för att visa information om parametrarna.
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 (int, 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
*/
Imports System.Reflection
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
Kommentarer
Den här metoden beror på en valfri metadataflagga. Den här flaggan kan infogas av kompilatorer, men kompilatorerna är inte skyldiga att göra det.
Den här metoden använder Out uppräkningsflaggan ParameterAttributes .
Hämta matrisen ParameterInfo genom att först hämta metoden eller konstruktorn och sedan anropa MethodBase.GetParameters.