blob: d9cd8b92275befa4845137017f73b339c3fc294f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
namespace System.Web.Mvc
{
public class ModelMetadataProviders
{
private static ModelMetadataProviders _instance = new ModelMetadataProviders();
private ModelMetadataProvider _currentProvider;
private IResolver<ModelMetadataProvider> _resolver;
internal ModelMetadataProviders(IResolver<ModelMetadataProvider> resolver = null)
{
_resolver = resolver ?? new SingleServiceResolver<ModelMetadataProvider>(
() => _currentProvider,
new CachedDataAnnotationsModelMetadataProvider(),
"ModelMetadataProviders.Current");
}
public static ModelMetadataProvider Current
{
get { return _instance.CurrentInternal; }
set { _instance.CurrentInternal = value; }
}
internal ModelMetadataProvider CurrentInternal
{
get { return _resolver.Current; }
set { _currentProvider = value ?? new EmptyModelMetadataProvider(); }
}
}
}
|