Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
AssociatedMetadataProvider Class
Collapse the table of content
Expand the table of content

AssociatedMetadataProvider Class

.NET Framework 4.6 and 4.5

Provides an abstract class to implement a metadata provider.

Namespace:  System.Web.ModelBinding
Assembly:  System.Web (in System.Web.dll)

public abstract class AssociatedMetadataProvider : ModelMetadataProvider

The AssociatedMetadataProvider type exposes the following members.

Protected methodAssociatedMetadataProviderWhen overridden in a derived class, initializes a new instance of the class that derives from the AssociatedMetadataProvider class.

Protected methodCreateMetadataWhen overridden in a derived class, creates metadata for a model.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFilterAttributesEnables derived classes to filter the list of attributes.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetMetadataForPropertiesWhen overridden in a derived class, returns metadata for all properties. (Overrides ModelMetadataProvider.GetMetadataForProperties(Object, Type).)
Protected methodGetMetadataForProperty(Func<Object>, Type, PropertyDescriptor)When overridden in a derived class, returns metadata for a property specified by a property descriptor object.
Public methodGetMetadataForProperty(Func<Object>, Type, String)When overridden in a derived class, returns metadata for a property specified by a property name. (Overrides ModelMetadataProvider.GetMetadataForProperty(Func<Object>, Type, String).)
Public methodGetMetadataForTypeWhen overridden in a derived class, returns metadata for the model type. (Overrides ModelMetadataProvider.GetMetadataForType(Func<Object>, Type).)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodGetTypeDescriptorWhen overridden in a derived class, returns a descriptor object for a specified type.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

A metadata provider provides metadata for a model. Metadata providers must derive from ModelMetadataProvider. You can inherit from this class if you want to use a custom validator or a third-party validator that uses attribute-based metadata.

This class implements the abstract methods of the ModelMetadataProvider class and contains additional abstract methods. When you implement this class, use the AssociatedValidatorProvider class to implement the validator.

Model provider classes and validator provider classes are loosely coupled. Therefore, they work independently and have no dependencies on each other.

However, the metadata provider exposes metadata that can be accessed and used by validation providers. For example, the default metadata provider (the DataAnnotationsModelMetadataProvider class) reads the display name of an object. This display name is used by the DataAnnotationsModelValidatorProvider validation provider when it creates a validation error message.

.NET Framework

Supported in: 4.6, 4.5

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft