ParameterInfo.Attributes Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Gets the attributes for this parameter.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overridable ReadOnly Property Attributes As ParameterAttributes
public virtual ParameterAttributes Attributes { get; }
Property Value
Type: System.Reflection.ParameterAttributes
The attributes for this parameter.
Remarks
To get the ParameterInfo array, first get the method or the constructor, and then call MethodBase.GetParameters.
Examples
The following example defines a method with four parameters and uses the Attributes property to display the attributes of the parameters.
Note: |
---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
Imports System.Reflection
Imports System.Runtime.InteropServices
Class Example
Public Shared Sub mymethod(ByVal str1 As String, ByRef str2 As String, _
<Out> ByRef str3 As String, <InAttribute> ByVal str4 As String)
' Add str1 to str2, which is ByRef.
str2 &= str1
' When mymethod is called, str3 has no value. Give it one.
str3 = "new value"
End Sub
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Get the method.
Dim mm As MethodInfo = GetType(Example).GetMethod("mymethod")
' Display the method.
outputBlock.Text &= "MethodInfo.ToString(): " & mm.ToString() & vbCrLf
For Each param In mm.GetParameters()
outputBlock.Text &= String.Format("Attributes for parameter {0}, ""{1}"": {2} ({3})", _
param.Position, param.Name, param.Attributes, CInt(param.Attributes))
If param.ParameterType.IsByRef Then
outputBlock.Text &= "; the parameter type is ByRef" & vbLf
Else
outputBlock.Text &= vbLf
End If
Next
End Sub
End Class
' This code produces the following output:
'
'MethodInfo.ToString(): Void mymethod(System.String, System.String ByRef, System.String ByRef)
'Attributes for parameter 0, "str1": None (0)
'Attributes for parameter 1, "str2": None (0); the parameter type is ByRef
'Attributes for parameter 2, "str3": Out (2); the parameter type is ByRef
'Attributes for parameter 3, "str4": In (1)
using System;
using System.Reflection;
using System.Runtime.InteropServices;
class Example
{
public static void mymethod(string str1, ref string str2, out string str3,
[In] string str4)
{
// Concatenate str1 to str2, which is ref.
str2 += str1;
// When mymethod is called, str3 has no value. Give it one.
str3 = "new value";
}
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
MethodInfo mm = typeof(Example).GetMethod("mymethod");
// Display the method.
outputBlock.Text += "MethodInfo.ToString(): " + mm.ToString() + "\n";
// Get and display the attributes for the second parameter.
foreach (ParameterInfo param in mm.GetParameters())
{
outputBlock.Text += String.Format("Attributes for parameter {0}, \"{1}\": {2} ({3})",
param.Position, param.Name, param.Attributes, (int)param.Attributes);
if (param.ParameterType.IsByRef)
{
outputBlock.Text += "; the parameter type is ref\n";
}
else
{
outputBlock.Text += "\n";
}
}
}
}
/* This code produces the following output:
MethodInfo.ToString(): Void mymethod(System.String, System.String ByRef, System.String ByRef)
Attributes for parameter 0, "str1": None (0)
Attributes for parameter 1, "str2": None (0); the parameter type is ByRef
Attributes for parameter 2, "str3": Out (2); the parameter type is ByRef
Attributes for parameter 3, "str4": In (1)
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.