ParameterInfo.IsOut Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob es sich um einen Ausgabeparameter handelt.
public:
property bool IsOut { bool get(); };
public bool IsOut { get; }
member this.IsOut : bool
Public ReadOnly Property IsOut As Boolean
Eigenschaftswert
truewenn der Parameter ein Ausgabeparameter ist; andernfalls . false
Beispiele
Das folgende Beispiel zeigt, wie Methodenparameter für die ParameterAttributes.InAttribute ParameterAttributes.Outund ParameterAttributes.Optional Die Parameter getestet werden.
Das Beispiel enthält eine DefineMethod Methode, die Folgendes ausführt:
Erstellt eine dynamische Assembly, die einen
MyTypeTyp enthält.Fügt eine
MyMethodMethode zuMyType.MyMethodhat drei Parameter. Der erste Parameter wird mit ParameterAttributes.In, dem zweiten mit , und dem dritten mit ParameterAttributes.OutParameterAttributes.Optional.Aufrufe TypeBuilder.CreateType zum Abschließen des Typs.
Nach der Ausführung DefineMethoddurchsucht das Beispiel die derzeit geladenen Assemblys, bis die dynamische Assembly gefunden wird. Es wird aus der Assembly geladen MyType , ein MethodInfo Objekt für die MyMethod Methode abgerufen und die Parameter untersucht. Im Beispiel werden die IsInIsOutParameter und IsOptional Eigenschaften verwendet, um Informationen zu den Parametern anzuzeigen.
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
Hinweise
Diese Methode hängt von einem optionalen Metadatenflagge ab. Dieses Flag kann von Compilern eingefügt werden, die Compiler sind jedoch nicht dazu verpflichtet.
Diese Methode verwendet die Out Kennzeichnung des ParameterAttributes Enumerators.
Rufen Sie zum Abrufen des ParameterInfo Arrays zuerst die Methode oder den Konstruktor ab, und rufen Sie dann auf MethodBase.GetParameters.