protected override IEnumerable <MemberInfo> GetMemberInfosForType(IExpressionContext context, Type type) { BindingFlags?flags = null; if (context != null) { flags = context.GetBindingFlags(); } else if (this.Factory != null) { flags = this.Factory.GetBindingFlags(); } return(flags == null?type.GetMembers() : type.GetMembers(flags.Value)); }