diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapeAttributeStrategy/ShapeAttributeBindingStrategy.cs b/src/Orchard/DisplayManagement/Descriptors/ShapeAttributeStrategy/ShapeAttributeBindingStrategy.cs index 39204f17a..869851854 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapeAttributeStrategy/ShapeAttributeBindingStrategy.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapeAttributeStrategy/ShapeAttributeBindingStrategy.cs @@ -93,29 +93,23 @@ namespace Orchard.DisplayManagement.Descriptors.ShapeAttributeStrategy { } var getter = _getters.GetOrAdd(parameter.Name, n => - CallSite>.Create( + CallSite>.Create( Microsoft.CSharp.RuntimeBinder.Binder.GetMember( CSharpBinderFlags.None, n, null, new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }))); var result = getter.Target(getter, displayContext.Value); - //var result = ((dynamic)(displayContext.Value))[parameter.Name]; if (result == null) return null; - //if (parameter.Name == "Attributes") { - // var attributes = new RouteValueDictionary(result); - // return Arguments.From(attributes.Values, attributes.Keys); - //} - var converter = _converters.GetOrAdd(parameter.ParameterType, CompileConverter); - var argument = converter.Invoke((object)result); + var argument = converter.Invoke(result); return argument; } - static readonly ConcurrentDictionary>> _getters = - new ConcurrentDictionary>>(); + static readonly ConcurrentDictionary>> _getters = + new ConcurrentDictionary>>(); static readonly ConcurrentDictionary> _converters = new ConcurrentDictionary>();