Пример #1
0
 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());
 }
Пример #2
0
        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()));
        }