ParameterAttributes Enumerazione
Definizione
Definisce gli attributi che è possibile associare a un parametro.Defines the attributes that can be associated with a parameter. Questi attributi sono definiti nel file CorHdr.h.These are defined in CorHdr.h.
Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.
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
- Ereditarietà
- Attributi
Campi
HasDefault | 4096 | Specifica che il parametro ha un valore predefinito.Specifies that the parameter has a default value. |
HasFieldMarshal | 8192 | Specifica che il parametro dispone di informazioni di marshalling del campo.Specifies that the parameter has field marshaling information. |
In | 1 | Specifica che si tratta di un parametro di input.Specifies that the parameter is an input parameter. |
Lcid | 4 | Specifica che il parametro è un identificatore di impostazioni locali (lcid).Specifies that the parameter is a locale identifier (lcid). |
None | 0 | Specifica che non esiste alcun attributo di parametro.Specifies that there is no parameter attribute. |
Optional | 16 | Specifica che si tratta di un parametro opzionale.Specifies that the parameter is optional. |
Out | 2 | Specifica che si tratta di un parametro di output.Specifies that the parameter is an output parameter. |
Reserved3 | 16384 | Riservato.Reserved. |
Reserved4 | 32768 | Riservato.Reserved. |
ReservedMask | 61440 | Specifica che si tratta di un parametro riservato.Specifies that the parameter is reserved. |
Retval | 8 | Specifica che il parametro è un valore restituito.Specifies that the parameter is a return value. |
Esempio
Nell'esempio seguente vengono visualizzati gli attributi del parametro specificato.The following example displays the attributes of the specified parameter.
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
Commenti
Per ottenere il ParameterAttributes
valore, ottenere prima di tutto Type
.To get the ParameterAttributes
value, first get the Type
. Da Type
ottenere la ParameterInfo
matrice.From the Type
, get the ParameterInfo
array. Il ParameterAttributes
valore è all'interno della matrice.The ParameterAttributes
value is within the array.
Questi valori di enumeratore dipendono da metadati facoltativi.These enumerator values are dependent on optional metadata. Non tutti gli attributi sono disponibili da tutti i compilatori.Not all attributes are available from all compilers. Vedere le istruzioni del compilatore appropriate per determinare quali valori enumerati sono disponibili.See the appropriate compiler instructions to determine which enumerated values are available.