Model绑定是为作为目标Action的方法准备参数列表的过程,所以针对参数的描述才是Model绑定的核心。在ASP.NET MVC应用编程接口中,服务于Model绑定的参数元数据通过ParameterDescriptor类型来表示,而ActionDescriptor的GetParameters方法返回的就是一个ParameterDescriptor数组。
如下面的代码片断所示,ParameterDescriptor同样实现了ICustomAttributeProvider接口提供应用在相应参数上的特性。ParameterDescriptor的只读属性ActionDescriptor表示描述所在Action方法的ActionDescriptor对象。属性ParameterName、ParameterType和DefaultValue分别表示参数的名称、类型和默认值。
class ParameterDescriptor : ICustomAttributeProvider
2: {
bool inherit);
bool inherit);
bool inherit);
6:
abstract ActionDescriptor ActionDescriptor { get; }
string ParameterName { get; }
abstract Type ParameterType { get; }
object DefaultValue { get; }
11:
virtual ParameterBindingInfo BindingInfo { get; }
13: }