【发布时间】:2011-02-22 14:18:56
【问题描述】:
现在我有一个扩展 DynamicObject 并覆盖 TryGetMember 的类。
public class FieldCollection : DynamicObject, ICollection<Field>, ISerializable
{
...
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
var field = _inner.TryGetField(binder.Name);
result = field == null ? null : field.Value;
return true;
}
...
}
dynamic fields = new FieldCollection();
Console.WriteLine(fields.Foo);
这很好用,但我不得不扩展 DynamicObject,这意味着我无法扩展其他任何东西。是否可以在不扩展 DynamicObject 的情况下做到这一点?
【问题讨论】:
标签: c# .net inheritance dynamic