ParameterInfo.IsOut Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald die aangeeft of dit een uitvoerparameter is.
public:
property bool IsOut { bool get(); };
public bool IsOut { get; }
member this.IsOut : bool
Public ReadOnly Property IsOut As Boolean
Waarde van eigenschap
true als de parameter een uitvoerparameter is; anders, false.
Voorbeelden
In het volgende voorbeeld ziet u hoe u methodeparameters voor de ParameterAttributes.In, ParameterAttributes.Outen ParameterAttributes.Optional kenmerken test.
Het voorbeeld bevat een DefineMethod methode die het volgende doet:
Hiermee maakt u een dynamische assembly met een
MyTypetype.Hiermee voegt u een
MyMethodmethode toe aanMyType.MyMethodheeft drie parameters. De eerste parameter wordt gedefinieerd met ParameterAttributes.In, de tweede met ParameterAttributes.Out, en de derde met ParameterAttributes.Optional.Aanroepen TypeBuilder.CreateType om het type te voltooien.
Na het uitvoeren DefineMethodwordt in het voorbeeld gezocht naar de assembly's die momenteel zijn geladen totdat de dynamische assembly wordt gevonden. Het laadt MyType uit de assembly, haalt een MethodInfo object voor de MyMethod methode op en onderzoekt de parameters. In het voorbeeld worden de IsIn, IsOuten IsOptional eigenschappen gebruikt om informatie over de parameters weer te geven.
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
Opmerkingen
Deze methode is afhankelijk van een optionele metagegevensvlag. Deze vlag kan worden ingevoegd door compilers, maar de compilers zijn niet verplicht dit te doen.
Deze methode maakt gebruik van de Out vlag van de ParameterAttributes enumerator.
Als u de ParameterInfo matrix wilt ophalen, moet u eerst de methode of de constructor ophalen en vervolgens aanroepen MethodBase.GetParameters.