ParameterInfo.IsOut Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu určující, zda je to výstupní parametr.
public:
property bool IsOut { bool get(); };
public bool IsOut { get; }
member this.IsOut : bool
Public ReadOnly Property IsOut As Boolean
Hodnota vlastnosti
truepokud je parametr výstupním parametrem; v opačném případě . false
Příklady
Následující příklad ukazuje, jak testovat parametry metody pro ParameterAttributes.In, ParameterAttributes.Outa ParameterAttributes.Optional atributy.
Příklad obsahuje metodu DefineMethod , která provede následující:
Vytvoří dynamické sestavení obsahující typ
MyType.Přidá metodu
MyMethoddoMyType.MyMethodmá tři parametry. První parametr je definován s ParameterAttributes.In, druhý s ParameterAttributes.Out, a třetí s ParameterAttributes.Optional.Volání TypeBuilder.CreateType k dokončení typu
Po spuštění DefineMethodpříklad prohledá sestavení, která jsou aktuálně načtena, dokud nenajde dynamické sestavení. Načte MyType se ze sestavení, získá MethodInfo objekt pro metodu MyMethod a prozkoumá parametry. Příklad používá , IsInIsOuta IsOptional vlastnosti k zobrazení informací o parametrech.
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
Poznámky
Tato metoda závisí na volitelném příznaku metadat. Tento příznak mohou vložit kompilátory, ale kompilátory k tomu nejsou povinen.
Tato metoda využívá Out příznak enumerátoru ParameterAttributes .
Chcete-li získat ParameterInfo pole, nejprve získejte metodu nebo konstruktor a pak volání MethodBase.GetParameters.