#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6.1mscorlib.dll
#endregion
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Security;
namespace System.Reflection
{
//
// 摘要:
// 发现参数的属性并提供对参数元数据的访问权限。
[ClassInterface(ClassInterfaceType.None)]
[ComDefaultInterface(typeof(_ParameterInfo))]
[ComVisible(true)]
public class ParameterInfo : _ParameterInfo, ICustomAttributeProvider, IObjectReference
{
//
// 摘要:
// 参数的名称。
protected string NameImpl;
//
// 摘要:
// 参数的 Type。
protected Type ClassImpl;
//
// 摘要:
// 参数的参数列表中从零开始位置。
protected int PositionImpl;
//
// 摘要:
// 参数的属性。
protected ParameterAttributes AttrsImpl;
//
// 摘要:
// 参数的默认值。
protected object DefaultValueImpl;
//
// 摘要:
// 在其中实现该字段的成员。
protected MemberInfo MemberImpl;
//
// 摘要:
// 初始化 ParameterInfo 类的新实例。
protected ParameterInfo();
//
// 摘要:
// 获取参数的形参表中从零开始的位置。
//
// 返回结果:
// 此参数在参数列表中所占表示位置的整数。
public virtual int Position { get; }
//
// 摘要:
// 获取此参数的属性。
//
// 返回结果:
// 一个 ParameterAttributes 对象,表示为此参数的属性。
public virtual ParameterAttributes Attributes { get; }
//
// 摘要:
// 获取一个值,该值指示在其中实现该参数的成员。
//
// 返回结果:
// 植入这表示的参数的成员 System.Reflection.ParameterInfo。
public virtual MemberInfo Member { get; }
//
// 摘要:
// 获取一个值,该值指示这是否为输入的参数。
//
// 返回结果:
// true 如果参数是输入的参数,则否则为 false。
public bool IsIn { get; }
//
// 摘要:
// 获取一个值,该值指示这是否 Retval 参数。
//
// 返回结果:
// true 如果参数是 Retval; 否则为 false。
public bool IsRetval { get; }
//
// 摘要:
// 获取一个值,该值指示此参数为区域设置标识符 (lcid)。
//
// 返回结果:
// true 如果参数是区域设置标识符;否则为 false。
public bool IsLcid { get; }
//
// 摘要:
// 获取一个指示默认值的值(如果参数具有默认值)。
//
// 返回结果:
// 参数的默认值,或 System.DBNull.Value(如果参数没有默认值)。
public virtual object RawDefaultValue { get; }
//
// 摘要:
// 获取一个值,该值指示该参数是否可选。
//
// 返回结果:
// true 如果参数是可选的。否则为 false。
public bool IsOptional { get; }
//
// 摘要:
// 获取一个值,该值指示这是否为输出参数。
//
// 返回结果:
// true 如果参数是输出参数,则否则为 false。
public bool IsOut { get; }
//
// 摘要:
// 获取一个值,该值的默认值,如果该参数有默认值。
//
// 返回结果:
// 该参数的默认值或 System.DBNull.Value 如果参数没有默认值。
public virtual object DefaultValue { get; }
//
// 摘要:
// 获取包含此参数的自定义特性的集合。
//
// 返回结果:
// 一个包含此参数的自定义特性的集合。
public virtual IEnumerable<CustomAttributeData> CustomAttributes { get; }
//
// 摘要:
// 获取参数的名称。
//
// 返回结果:
// 此参数的简单名称。
public virtual string Name { get; }
//
// 摘要:
// 获取 Type 此参数。
//
// 返回结果:
// Type 对象,表示 Type 此参数。
public virtual Type ParameterType { get; }
//
// 摘要:
// 获取一个值,元数据中标识此参数。
//
// 返回结果:
// 一个值,该值在与模块一起唯一地标识此元数据中的参数。
public virtual int MetadataToken { get; }
//
// 摘要:
// 获取一个值,该值指示此参数是否具有默认值。
//
// 返回结果:
// true 如果此参数有默认值。否则为 false。
public virtual bool HasDefaultValue { get; }
//
// 摘要:
// 获取指定的类型或应用于此参数及其派生的类型的自定义特性。
//
// 参数:
// attributeType:
// 由类型标识的自定义属性。
//
// inherit:
// 对于该类型的对象,将忽略此自变量。 请参阅“备注”。
//
// 返回结果:
// 包含自定义特性的指定的类型或其派生的类型的数组。
//
// 异常:
// T:System.ArgumentException:
// 该类型必须是由基础运行时系统提供的类型。
//
// T:System.ArgumentNullException:
// attributeType 为 null。
//
// T:System.TypeLoadException:
// 无法加载自定义特性类型。
public virtual object[] GetCustomAttributes(Type attributeType, bool inherit);
//
// 摘要:
// 获取对该参数定义的所有自定义属性。
//
// 参数:
// inherit:
// 对于该类型的对象,将忽略此自变量。 请参阅“备注”。
//
// 返回结果:
// 包含应用于此参数的所有自定义特性的数组。
//
// 异常:
// T:System.TypeLoadException:
// 无法加载自定义特性类型。
public virtual object[] GetCustomAttributes(bool inherit);
//
// 摘要:
// 返回的列表 System.Reflection.CustomAttributeData 可以仅反射上下文中使用的当前参数的对象。
//
// 返回结果:
// 泛型列表 System.Reflection.CustomAttributeData 对象表示有关已应用于当前参数的特性的数据。
public virtual IList<CustomAttributeData> GetCustomAttributesData();
//
// 摘要:
// 获取参数可选的自定义修饰符。
//
// 返回结果:
// System.Type 对象的数组,这些对象标识当前参数的可选自定义修饰符(例如 System.Runtime.CompilerServices.IsConst
// 或 System.Runtime.CompilerServices.IsImplicitlyDereferenced)。
public virtual Type[] GetOptionalCustomModifiers();
//
// 摘要:
// 返回应而不是指定的序列化的流对象反序列化的真实对象。
//
// 参数:
// context:
// 从其当前对象进行反序列化序列化的流。
//
// 返回结果:
// 放入图形实际对象。
//
// 异常:
// T:System.Runtime.Serialization.SerializationException:
// 在参数列表中其关联成员的参数的位置无效,不能为该成员的类型。
[SecurityCritical]
public object GetRealObject(StreamingContext context);
//
// 摘要:
// 获取参数所必需的自定义修饰符。
//
// 返回结果:
// System.Type 对象的数组,这些对象标识当前参数所必需的自定义修饰符,例如 System.Runtime.CompilerServices.IsConst
// 或 System.Runtime.CompilerServices.IsImplicitlyDereferenced。
public virtual Type[] GetRequiredCustomModifiers();
//
// 摘要:
// 确定是否将指定的类型或其派生的类型的自定义特性应用于此参数。
//
// 参数:
// attributeType:
// Type 要搜索的对象。
//
// inherit:
// 对于该类型的对象,将忽略此自变量。 请参阅“备注”。
//
// 返回结果:
// true 如果一个或多个实例 attributeType 或其派生的类型应用于此参数; 否则为 false。
//
// 异常:
// T:System.ArgumentNullException:
// attributeType 为 null。
//
// T:System.ArgumentException:
// attributeType 不是 System.Type 提供的公共语言运行时对象。
public virtual bool IsDefined(Type attributeType, bool inherit);
//
// 摘要:
// 获取参数类型和表示为字符串的名称。
//
// 返回结果:
// 包含的类型和参数的名称的字符串。
public override string ToString();
}
}