public override IEnumerable <string> GetDynamicMemberNames() { if (!KnownInterfaces.Any()) { var dynamicMemberNames = InvocationBinding.GetMemberNames(CallTarget, dynamicOnly: true); if (!dynamicMemberNames.Any()) { return(InvocationBinding.GetMemberNames(CallTarget)); } } return(base.GetDynamicMemberNames()); }
public PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[] listAccessors) { IEnumerable <string> methodNames = new string[] {}; if (OverrideGettingItemMethodNames != null) { methodNames = OverrideGettingItemMethodNames(this); } else { methodNames = InvocationBinding.GetMemberNames(GetRepresentedItem(), dynamicOnly: true); } return(new PropertyDescriptorCollection(methodNames.Select(it => new MetaProperty(it)).ToArray())); }