ParameterAttributes Enumeration
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.
Definiert die Attribute, die einem Parameter zugeordnet werden können. Diese werden in CorHdr.h definiert.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
public enum class ParameterAttributes
[System.Flags]
public enum ParameterAttributes
[System.Flags]
[System.Serializable]
public enum ParameterAttributes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ParameterAttributes
[<System.Flags>]
type ParameterAttributes =
[<System.Flags>]
[<System.Serializable>]
type ParameterAttributes =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ParameterAttributes =
Public Enum ParameterAttributes
- Vererbung
- Attribute
Felder
| Name | Wert | Beschreibung |
|---|---|---|
| None | 0 | Gibt an, dass kein Parameter-Attribut vorhanden ist. |
| In | 1 | Gibt an, dass der Parameter ein Eingabeparameter ist. |
| Out | 2 | Gibt an, dass der Parameter ein Ausgabeparameter ist. |
| Lcid | 4 | Gibt an, dass der Parameter ein Gebietsschemabezeichner (lcid) ist. |
| Retval | 8 | Gibt an, dass der Parameter ein Rückgabewert ist. |
| Optional | 16 | Gibt an, dass der Parameter optional ist. |
| HasDefault | 4096 | Gibt an, dass der Parameter über einen Standardwert verfügt. |
| HasFieldMarshal | 8192 | Gibt an, dass der Parameter Feldmarsinginformationen enthält. |
| Reserved3 | 16384 | Reserviert. |
| Reserved4 | 32768 | Reserviert. |
| ReservedMask | 61440 | Gibt an, dass der Parameter reserviert ist. |
Beispiele
Im folgenden Beispiel werden die Attribute des angegebenen Parameters angezeigt.
using System;
using System.Reflection;
class paramatt
{
public static void mymethod (string str1, out string str2, ref string str3)
{
str2 = "string";
}
public static int Main(string[] args)
{
Console.WriteLine("\nReflection.ParameterAttributes");
// Get the Type and the method.
Type Mytype = Type.GetType("paramatt");
MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
// Display the method.
Console.Write("\nMymethodbase = " + Mymethodbase);
// Get the ParameterInfo array.
ParameterInfo[] Myarray = Mymethodbase.GetParameters();
// Get and display the attributes for the second parameter.
ParameterAttributes Myparamattributes = Myarray[1].Attributes;
Console.Write("\nFor the second parameter:\nMyparamattributes = "
+ (int) Myparamattributes
+ ", which is an "
+ Myparamattributes.ToString());
return 0;
}
}
Imports System.Reflection
Class paramatt
Public Shared Sub mymethod(ByVal str1 As String, ByRef str2 As String, _
ByRef str3 As String)
str2 = "string"
End Sub
Public Shared Function Main() As Integer
Console.WriteLine(ControlChars.CrLf + "Reflection.ParameterAttributes")
' Get the Type and the method.
Dim Mytype As Type = Type.GetType("paramatt")
Dim Mymethodbase As MethodBase = Mytype.GetMethod("mymethod")
' Display the method.
Console.WriteLine("Mymethodbase = " + Mymethodbase.ToString())
' Get the ParameterInfo array.
Dim Myarray As ParameterInfo() = Mymethodbase.GetParameters()
' Get and display the attributes for the second parameter.
Dim Myparamattributes As ParameterAttributes = Myarray(1).Attributes
Console.WriteLine("For the second parameter:" + ControlChars.CrLf _
+ "Myparamattributes = " + CInt(Myparamattributes).ToString() _
+ ", which is a " + Myparamattributes.ToString())
Return 0
End Function
End Class
Hinweise
Um den ParameterAttributes Wert abzurufen, rufen Sie zuerst die Type. Rufen Sie aus dem TypeArray das ParameterInfo Array ab. Der ParameterAttributes Wert befindet sich innerhalb des Arrays.
Diese Enumerationswerte sind von optionalen Metadaten abhängig. Nicht alle Attribute sind von allen Compilern verfügbar. Lesen Sie die entsprechenden Compileranweisungen, um zu bestimmen, welche Aufzählungswerte verfügbar sind.