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 sind 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
HasDefault | 4096 | Gibt an, dass der Parameter einen Standardwert besitzt. |
HasFieldMarshal | 8192 | Gibt an, dass der Parameter über Marshallinginformationen für Felder verfügt. |
In | 1 | Gibt an, dass der Parameter ein Eingabeparameter ist. |
Lcid | 4 | Gibt an, dass der Parameter ein Gebietsschemabezeichner (lcid) ist. |
None | 0 | Gibt an, dass kein Parameterattribut vorhanden ist. |
Optional | 16 | Gibt an, dass der Parameter optional ist. |
Out | 2 | Gibt an, dass der Parameter ein Ausgabeparameter ist. |
Reserved3 | 16384 | Reserviert. |
Reserved4 | 32768 | Reserviert. |
ReservedMask | 61440 | Gibt an, dass der Parameter reserviert ist. |
Retval | 8 | Gibt an, dass der Parameter ein Rückgabewert ist. |
Beispiele
Im folgenden Beispiel werden die Attribute des angegebenen Parameters angezeigt.
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
public ref class paramatt
{
public:
static void mymethod( String^ str1, [Out]interior_ptr<String^> str2, interior_ptr<String^> str3 )
{
*str2 = "string";
}
};
int main()
{
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 = {0}", Mymethodbase );
// Get the ParameterInfo array.
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 = {0}, which is an {1}", (int)Myparamattributes, Myparamattributes );
return 0;
}
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
ab. Rufen Sie aus das Type
ParameterInfo
Array ab. Der ParameterAttributes
Wert befindet sich innerhalb des Arrays.
Diese Enumeratorwerte sind von optionalen Metadaten abhängig. Nicht alle Attribute sind von allen Compilern verfügbar. Sehen Sie sich die entsprechenden Compileranweisungen an, um zu bestimmen, welche enumerationsierten Werte verfügbar sind.