ParameterAttributes Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define os atributos que podem ser associados a um parâmetro. Elas são definidas em CorHdr.h.
Essa enumeração dá suporte a uma combinação bit a bit dos valores de 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
- Herança
- Atributos
Campos
| Nome | Valor | Description |
|---|---|---|
| None | 0 | Especifica que não há nenhum atributo de parâmetro. |
| In | 1 | Especifica que o parâmetro é um parâmetro de entrada. |
| Out | 2 | Especifica que o parâmetro é um parâmetro de saída. |
| Lcid | 4 | Especifica que o parâmetro é um identificador de localidade (lcid). |
| Retval | 8 | Especifica que o parâmetro é um valor retornado. |
| Optional | 16 | Especifica que o parâmetro é opcional. |
| HasDefault | 4096 | Especifica que o parâmetro tem um valor padrão. |
| HasFieldMarshal | 8192 | Especifica que o parâmetro tem informações de marshaling de campo. |
| Reserved3 | 16384 | Reservado. |
| Reserved4 | 32768 | Reservado. |
| ReservedMask | 61440 | Especifica que o parâmetro está reservado. |
Exemplos
O exemplo a seguir exibe os atributos do parâmetro especificado.
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
Comentários
Para obter o ParameterAttributes valor, primeiro obtenha o Type.
TypeNa matriz, obtenha a ParameterInfo matriz. O ParameterAttributes valor está dentro da matriz.
Esses valores de enumerador dependem de metadados opcionais. Nem todos os atributos estão disponíveis em todos os compiladores. Consulte as instruções apropriadas do compilador para determinar quais valores enumerados estão disponíveis.