ParameterAttributes-Enumeration
Definiert die Attribute, die einem Parameter zugeordnet werden können. Diese sind in CorHdr.h definiert.
Diese Enumeration verfügt über ein FlagsAttribute -Attribut, das die bitweise Kombination der Memberwerte zulässt.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<FlagsAttribute> _
Public Enumeration ParameterAttributes
'Usage
Dim instance As ParameterAttributes
[SerializableAttribute]
[ComVisibleAttribute(true)]
[FlagsAttribute]
public enum ParameterAttributes
[SerializableAttribute]
[ComVisibleAttribute(true)]
[FlagsAttribute]
public enum class ParameterAttributes
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
/** @attribute FlagsAttribute() */
public enum ParameterAttributes
SerializableAttribute
ComVisibleAttribute(true)
FlagsAttribute
public enum ParameterAttributes
Member
Membername | Beschreibung | |
---|---|---|
HasDefault | Gibt an, dass der Parameter einen Standardwert besitzt. | |
HasFieldMarshal | Gibt an, dass der Parameter über Marshallinginformationen für Felder verfügt. | |
In | Gibt an, dass der Parameter ein Eingabeparameter ist. | |
Lcid | Gibt an, dass der Parameter ein Gebietsschemabezeichner (lcid) ist. | |
None | Gibt an, dass kein Parameterattribut vorhanden ist. | |
Optional | Gibt an, dass der Parameter optional ist. | |
Out | Gibt an, dass der Parameter ein Ausgabeparameter ist. | |
Reserved3 | Reserviert. | |
Reserved4 | Reserviert. | |
ReservedMask | Gibt an, dass der Parameter reserviert ist. | |
Retval | Gibt an, dass der Parameter ein Rückgabewert ist. |
Hinweise
Zum Abrufen des ParameterAttributes-Werts müssen Sie zunächst Type abrufen. Rufen Sie das ParameterInfo-Array aus Type ab. Der ParameterAttributes-Wert befindet sich im Array.
Diese Enumeratorwerte hängen von optionalen Metadaten ab. Nicht alle Attribute sind in allen Compilern verfügbar. Den Anweisungen des entsprechenden Compilers können Sie entnehmen, welche Enumerationswerte verfügbar sind.
Beispiel
Im folgenden Beispiel werden die Attribute des angegebenen Parameters angezeigt.
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
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
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;
}
}
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;
}
import System.*;
import System.Reflection.*;
class Paramatt
{
public static void Mymethod(String str1,
/** @ref
*/ String str2,
/** @ref
*/ String str3)
{
str2 = "string";
} //Mymethod
public static void 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].get_Attributes();
Console.Write(("\nFor the second parameter:\nMyparamattributes = "
+ (int)(myParamAttributes) + ", which is an "
+ myParamAttributes.ToString()));
} //main
} //Paramatt
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0