From 766d365e48cfd3036c0d9abd3b6566934d55145a Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Mon, 13 Sep 2010 15:10:39 -0700 Subject: [PATCH] Cleaning up dynamic parameter binder --HG-- branch : theming extra : rebase_source : 9c52b713a135109d714464db4c2ff9e544cd0882 --- .../ShapeAttributeBindingStrategy.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) 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>();