ParameterInfo Class
Discovers the attributes of a parameter and provides access to parameter metadata.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
The ParameterInfo type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | Attributes | Gets the attributes for this parameter. |
![]() ![]() ![]() | DefaultValue | Gets the default value, if the parameter has a default value. |
![]() | IsIn | Gets a value indicating whether this is an input parameter. |
![]() ![]() ![]() | IsOptional | Gets a value indicating whether this parameter is optional. |
![]() ![]() ![]() | IsOut | Gets a value indicating whether this is an output parameter. |
![]() ![]() ![]() | Member | Gets the member in which the parameter is defined. |
![]() ![]() ![]() | MetadataToken | Gets a value that identifies this parameter in metadata. |
![]() ![]() ![]() | Name | Gets the name of the parameter. |
![]() ![]() ![]() | ParameterType | Gets the type of this parameter. |
![]() ![]() ![]() | Position | Gets the zero-based position of the parameter in the formal parameter list. |
![]() | RawDefaultValue | Gets a value indicating the default value if the parameter has a default value. |
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) In Silverlight for Windows Phone, this member is overridden by Equals(Object). In XNA Framework, this member is overridden by Equals(Object). |
![]() ![]() ![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() ![]() ![]() | GetCustomAttributes(Boolean) | Gets all the custom attributes defined on this parameter. |
![]() ![]() ![]() | GetCustomAttributes(Type, Boolean) | Gets the custom attributes of the specified type or its derived types that are applied to this parameter. |
![]() ![]() ![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) In Silverlight for Windows Phone, this member is overridden by GetHashCode. In XNA Framework, this member is overridden by GetHashCode. |
![]() ![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() ![]() | IsDefined | Determines whether the custom attribute of the specified type or its derived types is applied to this parameter. |
![]() ![]() ![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() ![]() | ToString | Gets the parameter type and name represented as a string. (Overrides Object.ToString.) |
Use an instance of ParameterInfo to obtain information about the parameter's data type, default value, and so on.
MethodBase.GetParameters returns an array of ParameterInfo objects representing the parameters of a method, in order.
The following example defines a method with four parameters and uses the ParameterInfo.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)
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.





Note: