예제 #1
0
        public override bool Equals(object obj)
        {
            if (obj is Field field)
            {
                return
                    (Name.Equals(field.Name) &&
                     (
                         Arguments == null &&
                         field.Arguments == null ||
                         Arguments != null &&
                         field.Arguments != null &&
                         Arguments.SequenceEqual(field.Arguments)
                     ) &&
                     (
                         Directives == null &&
                         field.Directives == null ||
                         Directives != null &&
                         field.Directives != null &&
                         Directives.SequenceEqual(field.Directives)
                     ) &&
                     (
                         SelectionSet == null &&
                         field.SelectionSet == null ||
                         SelectionSet != null &&
                         field.SelectionSet != null &&
                         SelectionSet.SequenceEqual(field.SelectionSet)
                     ));
            }

            return(base.Equals(obj));
        }