blob: 966cc77b7c8964d7d5922a42d90946eac33f5f71 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
namespace System.Web.Mvc
{
public class ViewDataDictionary<TModel> : ViewDataDictionary
{
public ViewDataDictionary()
:
base(default(TModel))
{
}
public ViewDataDictionary(TModel model)
:
base(model)
{
}
public ViewDataDictionary(ViewDataDictionary viewDataDictionary)
:
base(viewDataDictionary)
{
}
public new TModel Model
{
get { return (TModel)base.Model; }
set { SetModel(value); }
}
public override ModelMetadata ModelMetadata
{
get
{
ModelMetadata result = base.ModelMetadata;
if (result == null)
{
result = base.ModelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(TModel));
}
return result;
}
set { base.ModelMetadata = value; }
}
protected override void SetModel(object value)
{
bool castWillSucceed = TypeHelpers.IsCompatibleObject<TModel>(value);
if (castWillSucceed)
{
base.SetModel((TModel)value);
}
else
{
InvalidOperationException exception = (value != null)
? Error.ViewDataDictionary_WrongTModelType(value.GetType(), typeof(TModel))
: Error.ViewDataDictionary_ModelCannotBeNull(typeof(TModel));
throw exception;
}
}
}
}
|