DynamicRest.XmlNode.TryInvokeMember C# (CSharp) Метод

TryInvokeMember() публичный Метод

public TryInvokeMember ( InvokeMemberBinder binder, object args, object &result ) : bool
binder System.Dynamic.InvokeMemberBinder
args object
result object
Результат bool
        public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
        {
            string name = binder.Name;

            if (String.CompareOrdinal(name, "SelectAll") == 0) {
                IEnumerable<XElement> selectedElements = null;

                if (args.Length == 0) {
                    selectedElements = _element.Descendants();
                }
                else if (args.Length == 1) {
                    selectedElements = _element.Descendants(args[0].ToString());
                }
                else {
                    result = false;
                    return false;
                }
                result = new XmlNodeList(selectedElements);
                return true;
            }
            else if (String.CompareOrdinal(name, "SelectChildren") == 0) {
                IEnumerable<XElement> selectedElements = null;

                if (args.Length == 0) {
                    selectedElements = _element.Elements();
                }
                else if (args.Length == 1) {
                    selectedElements = _element.Elements(args[0].ToString());
                }
                else {
                    result = false;
                    return false;
                }
                result = new XmlNodeList(selectedElements);
                return true;
            }

            return base.TryInvokeMember(binder, args, out result);
        }