ViewDataInfo vdi = viewData.GetViewDataInfo(expression);
Getting the result of the GetViewDataInfo method, called with parameter expression.
Func<object> modelAccessor = null; modelAccessor = () => vdi.Value;
Creating and initializing the delegate (function pointer) in view of lambda function. When in future code you make a call modelAccessor(), it'll return vdi.Value.
() - this means the function retrieve no parameters.
Func<object> - the function will return an object.
vdi.Value - is the short variant of { return vdi.Value; }
Read more about the lambda-functions.