Skip to content

Commit 6a5ab51

Browse files
committed
Fixing bug causing dups
1 parent 3f85153 commit 6a5ab51

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

src/WebApiContrib.CollectionJson/ExtensibleObject.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@ public abstract class ExtensibleObject : DynamicObject
1212
{
1313
public ExtensibleObject()
1414
{
15-
Members = new Dictionary<string, object>(StringComparer.CurrentCultureIgnoreCase);
15+
Members = new Dictionary<string, object>();
16+
DynamicMembers = new Dictionary<string, object>(StringComparer.CurrentCultureIgnoreCase);
1617
}
1718

18-
protected IDictionary<string, object> Members { get; private set; }
19+
protected IDictionary<string, object> Members { get; private set; }
20+
protected IDictionary<string, object> DynamicMembers { get; private set; }
1921

2022
public override bool TryGetMember(GetMemberBinder binder, out object result)
2123
{
2224
var name = binder.Name;
23-
var found = Members.TryGetValue(name, out result);
25+
var found = DynamicMembers.TryGetValue(name, out result);
2426

2527
if (result == null)
2628
return false;
@@ -30,13 +32,13 @@ public override bool TryGetMember(GetMemberBinder binder, out object result)
3032

3133
public override bool TrySetMember(SetMemberBinder binder, object value)
3234
{
33-
Members[binder.Name] = value;
35+
DynamicMembers[binder.Name] = value;
3436
return true;
3537
}
3638

3739
public override IEnumerable<string> GetDynamicMemberNames()
3840
{
39-
foreach (var entry in Members)
41+
foreach (var entry in DynamicMembers)
4042
{
4143
if (entry.Value != null)
4244
yield return entry.Key;

0 commit comments

Comments
 (0)