我想知道是否有人可以向我解释这一点:
internal sealed class DynamicViewDataDictionary : DynamicObject {
private readonly Func<ViewDataDictionary> _viewDataThunk; //// eg () => ViewData
public DynamicViewDataDictionary(Func<ViewDataDictionary> viewDataThunk)
{
_viewDataThunk = viewDataThunk;
}
private ViewDataDictionary ViewData {
get {
ViewDataDictionary viewData = _viewDataThunk();
Debug.Assert(viewData != null);
return viewData;
}
}
.................
这是在ViewView属性的WebViewPage中实例化的 ()=&gt;构造函数中的ViewData。所以看来这里的ViewData属性将使用这个func()返回自己?这里发生了什么,为什么这样做?
答案 0 :(得分:1)
我只能推测,但也许这样做是为了在测试期间提供帮助。拥有一个函数,您可以在执行期间更改返回值。