ParameterInfo Class
Discovers the attributes of a parameter and provides access to parameter metadata.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | ParameterInfo() | Initializes a new instance of the ParameterInfo class. |
| Name | Description | |
|---|---|---|
![]() | Attributes | Gets the attributes for this parameter. |
![]() | CustomAttributes | Gets a collection that contains this parameter's custom attributes. |
![]() | DefaultValue | Gets a value indicating the default value if the parameter has a default value. |
![]() | HasDefaultValue | Gets a value that indicates whether this parameter has a default value. |
![]() | IsIn | Gets a value indicating whether this is an input parameter. |
![]() | IsLcid | Gets a value indicating whether this parameter is a locale identifier (lcid). |
![]() | IsOptional | Gets a value indicating whether this parameter is optional. |
![]() | IsOut | Gets a value indicating whether this is an output parameter. |
![]() | IsRetval | Gets a value indicating whether this is a Retval parameter. |
![]() | Member | Gets a value indicating the member in which the parameter is implemented. |
![]() | 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.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it 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. |
![]() | GetCustomAttributesData() | Returns a list of CustomAttributeData objects for the current parameter, which can be used in the reflection-only context. |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetOptionalCustomModifiers() | Gets the optional custom modifiers of the parameter. |
![]() | GetRealObject(StreamingContext) | Returns the real object that should be deserialized instead of the object that the serialized stream specifies. |
![]() | GetRequiredCustomModifiers() | Gets the required custom modifiers of the parameter. |
![]() | GetType() | |
![]() | IsDefined(Type, Boolean) | Determines whether the custom attribute of the specified type or its derived types is applied to this parameter. |
![]() | MemberwiseClone() | |
![]() | ToString() | Gets the parameter type and name represented as a string.(Overrides Object.ToString().) |
| Name | Description | |
|---|---|---|
![]() | AttrsImpl | The attributes of the parameter. |
![]() | ClassImpl | The Type of the parameter. |
![]() | DefaultValueImpl | The default value of the parameter. |
![]() | MemberImpl | The member in which the field is implemented. |
![]() | NameImpl | The name of the parameter. |
![]() | PositionImpl | The zero-based position of the parameter in the parameter list. |
| Name | Description | |
|---|---|---|
![]() ![]() | _ParameterInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers. |
![]() ![]() | _ParameterInfo.GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can then be used to get the type information for an interface. |
![]() ![]() | _ParameterInfo.GetTypeInfoCount(UInt32) | Retrieves the number of type information interfaces that an object provides (either 0 or 1). |
![]() ![]() | _ParameterInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object. |
| Name | Description | |
|---|---|---|
![]() | GetCustomAttribute(Type) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified parameter.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute(Type, Boolean) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified parameter, and optionally inspects the ancestors of that parameter.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute(Of T)() | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified parameter.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute(Of T)(Boolean) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified parameter, and optionally inspects the ancestors of that parameter.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes() | Overloaded. Retrieves a collection of custom attributes that are applied to a specified parameter.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes(Type) | Overloaded. Retrieves a collection of custom attributes of a specified type that are applied to a specified parameter.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes(Of T)(Boolean) | Overloaded. Retrieves a collection of custom attributes of a specified type that are applied to a specified parameter, and optionally inspects the ancestors of that parameter.(Defined by CustomAttributeExtensions.) |
![]() | IsDefined(Type) | Overloaded. Indicates whether custom attributes of a specified type are applied to a specified parameter.(Defined by CustomAttributeExtensions.) |
Use an instance of ParameterInfo to obtain information about the parameter's data type, default value, and so on.
GetParameters returns an array of ParameterInfo objects representing the parameters of a method, in order.
This example shows how to use various reflection classes to analyze the metadata contained in an assembly.
Imports System.Reflection Module Module1 Sub Main() ' This variable holds the amount of indenting that ' should be used when displaying each line of information. Dim indent As Int32 = 0 ' Display information about the EXE assembly. Dim a As Assembly = GetType(Module1).Assembly Display(indent, "Assembly identity={0}", a.FullName) Display(indent + 1, "Codebase={0}", a.CodeBase) ' Display the set of assemblies our assemblies reference. Dim an As AssemblyName Display(indent, "Referenced assemblies:") For Each an In a.GetReferencedAssemblies() Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", _ an.Name, an.Version, an.CultureInfo.Name, BitConverter.ToString(an.GetPublicKeyToken)) Next Display(indent, "") ' Display information about each assembly loading into this AppDomain. For Each a In AppDomain.CurrentDomain.GetAssemblies() Display(indent, "Assembly: {0}", a) ' Display information about each module of this assembly. Dim m As [Module] For Each m In a.GetModules(True) Display(indent + 1, "Module: {0}", m.Name) Next ' Display information about each type exported from this assembly. Dim t As Type indent += 1 For Each t In a.GetExportedTypes() Display(0, "") Display(indent, "Type: {0}", t) ' For each type, show its members & their custom attributes. Dim mi As MemberInfo indent += 1 For Each mi In t.GetMembers() Display(indent, "Member: {0}", mi.Name) DisplayAttributes(indent, mi) ' If the member is a method, display information about its parameters. Dim pi As ParameterInfo If mi.MemberType = MemberTypes.Method Then For Each pi In CType(mi, MethodInfo).GetParameters() Display(indent + 1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name) Next End If ' If the member is a property, display information about the property's accessor methods. If mi.MemberType = MemberTypes.Property Then Dim am As MethodInfo For Each am In CType(mi, PropertyInfo).GetAccessors() Display(indent + 1, "Accessor method: {0}", am) Next End If Next indent -= 1 Next indent -= 1 Next End Sub ' Displays the custom attributes applied to the specified member. Sub DisplayAttributes(ByVal indent As Int32, ByVal mi As MemberInfo) ' Get the set of custom attributes; if none exist, just return. Dim attrs() As Object = mi.GetCustomAttributes(False) If attrs.Length = 0 Then Return ' Display the custom attributes applied to this member. Display(indent + 1, "Attributes:") Dim o As Object For Each o In attrs Display(indent + 2, "{0}", o.ToString()) Next End Sub ' Display a formatted string indented by the specified amount. Sub Display(ByVal indent As Int32, ByVal format As String, ByVal ParamArray params() As Object) Console.Write(New String(" "c, indent * 2)) Console.WriteLine(format, params) End Sub End Module 'The output shown below is abbreviated. ' 'Assembly identity=Reflection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null ' Codebase=file:///C:/Reflection.exe 'Referenced assemblies: ' Name=mscorlib, Version=1.0.5000.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89 ' Name=Microsoft.VisualBasic, Version=7.0.5000.0, Culture=, PublicKey token=B0-3F-5F-7F-11-D5-0A-3A ' 'Assembly: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ' Module: mscorlib.dll ' Module: prc.nlp ' Module: prcp.nlp ' Module: ksc.nlp ' Module: ctype.nlp ' Module: xjis.nlp ' Module: bopomofo.nlp ' Module: culture.nlp ' Module: region.nlp ' Module: sortkey.nlp ' Module: charinfo.nlp ' Module: big5.nlp ' Module: sorttbls.nlp ' Module: l_intl.nlp ' Module: l_except.nlp ' ' Type: System.Object ' Member: GetHashCode ' Member: Equals ' Parameter: Type=System.Object, Name=obj ' Member: ToString ' Member: Equals ' Parameter: Type=System.Object, Name=objA ' Parameter: Type=System.Object, Name=objB ' Member: ReferenceEquals ' Parameter: Type=System.Object, Name=objA ' Parameter: Type=System.Object, Name=objB ' Member: GetType ' Member: .ctor ' ' Type: System.ICloneable ' Member: Clone ' ' Type: System.Collections.IEnumerable ' Member: GetEnumerator ' Attributes: ' System.Runtime.InteropServices.DispIdAttribute ' ' Type: System.Collections.ICollection ' Member: get_IsSynchronized ' Member: get_SyncRoot ' Member: get_Count ' Member: CopyTo ' Parameter: Type=System.Array, Name=array ' Parameter: Type=System.Int32, Name=index ' Member: Count ' Accessor method: Int32 get_Count() ' Member: SyncRoot ' Accessor method: System.Object get_SyncRoot() ' Member: IsSynchronized ' Accessor method: Boolean get_IsSynchronized() '
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
This type is thread safe.





