Adding doc comments for ModelBindingContext

Fixes #865
This commit is contained in:
Pranav K 2014-08-12 11:47:00 -07:00
parent 9c4d7806a7
commit 439101d766
1 changed files with 70 additions and 22 deletions

View File

@ -8,6 +8,9 @@ using Microsoft.AspNet.Http;
namespace Microsoft.AspNet.Mvc.ModelBinding
{
/// <summary>
/// A context that contains operating information for model binding and validation.
/// </summary>
public class ModelBindingContext
{
private string _modelName;
@ -15,12 +18,21 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
private Dictionary<string, ModelMetadata> _propertyMetadata;
private ModelValidationNode _validationNode;
/// <summary>
/// Initializes a new instance of the <see cref="ModelBindingContext"/> class.
/// </summary>
public ModelBindingContext()
{
}
// copies certain values that won't change between parent and child objects,
// e.g. ValueProvider, ModelState
/// <summary>
/// Initializes a new instance of the <see cref="ModelBindingContext"/> class using the
/// <param name="bindingContext" />.
// </summary>
/// <remarks>
/// This constructor copies certain values that won't change between parent and child objects,
/// e.g. ValueProvider, ModelState
/// </remarks>
public ModelBindingContext(ModelBindingContext bindingContext)
{
if (bindingContext != null)
@ -34,6 +46,12 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
}
}
/// <summary>
/// Gets or sets the model associated with this context.
/// </summary>
/// <remarks>
/// The <see cref="ModelMetadata"/> property must be set to access this property.
/// </remarks>
public object Model
{
get
@ -48,8 +66,15 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
}
}
/// <summary>
/// Gets or sets the metadata for the model associated with this context.
/// </summary>
public ModelMetadata ModelMetadata { get; set; }
/// <summary>
/// Gets or sets the name of the model. This property is used as a key for looking up values in
/// <see cref="IValueProvider"/> during model binding.
/// </summary>
public string ModelName
{
get
@ -63,6 +88,10 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
set { _modelName = value; }
}
/// <summary>
/// Gets or sets the <see cref="ModelStateDictionary"/> used to capture <see cref="ModelState"/> values
/// for properties in the object graph of the model when binding.
/// </summary>
public ModelStateDictionary ModelState
{
get
@ -76,6 +105,12 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
set { _modelState = value; }
}
/// <summary>
/// Gets the type of the model.
/// </summary>
/// <remarks>
/// The <see cref="ModelMetadata"/> property must be set to access this property.
/// </remarks>
public Type ModelType
{
get
@ -85,34 +120,43 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
}
}
/// <summary>
/// Gets or sets a value that indicates whether the binder should use an empty prefix to look up
/// values in <see cref="IValueProvider"/> when no values are found using the
/// <see cref="ModelName"/> prefix.
/// </summary>
public bool FallbackToEmptyPrefix { get; set; }
/// <summary>
/// Gets or sets the <see cref="HttpContext"/> for the current request.
/// </summary>
public HttpContext HttpContext { get; set; }
public IValueProvider ValueProvider
{
get;
set;
}
/// <summary>
/// Gets or sets the <see cref="IValueProvider"/> associated with this context.
/// </summary>
public IValueProvider ValueProvider { get; set; }
public IModelBinder ModelBinder
{
get;
set;
}
/// <summary>
/// Gets or sets the <see cref="IModelBinder"/> associated with this context.
/// </summary>
public IModelBinder ModelBinder { get; set; }
public IModelMetadataProvider MetadataProvider
{
get;
set;
}
/// <summary>
/// Gets or sets the <see cref="IModelMetadataProvider"/> associated with this context.
/// </summary>
public IModelMetadataProvider MetadataProvider { get; set; }
public IEnumerable<IModelValidatorProvider> ValidatorProviders
{
get;
set;
}
/// <summary>
/// Gets or sets the sequence of <see cref="IModelValidatorProvider"/> instances used for model validation
/// with this context.
/// </summary>
public IEnumerable<IModelValidatorProvider> ValidatorProviders { get; set; }
/// <summary>
/// Gets a dictionary of property name to <see cref="ModelMetadata"/> instances for
/// <see cref="ModelMetadata.Properties"/>
/// </summary>
public IDictionary<string, ModelMetadata> PropertyMetadata
{
get
@ -128,6 +172,10 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
}
}
/// <summary>
/// Gets or sets the <see cref="ModelValidationNode"/> instance used as a container for
/// validation information.
/// </summary>
public ModelValidationNode ValidationNode
{
get