public override int GetHashCode()
    {
        int hashcode = 157;

        unchecked {
            if (__isset.membershipState)
            {
                hashcode = (hashcode * 397) + MembershipState.GetHashCode();
            }
            if (__isset.memberRoles)
            {
                hashcode = (hashcode * 397) + TCollections.GetHashCode(MemberRoles);
            }
            if (__isset.displayName)
            {
                hashcode = (hashcode * 397) + DisplayName.GetHashCode();
            }
            if (__isset.ableToReceiveMessage)
            {
                hashcode = (hashcode * 397) + AbleToReceiveMessage.GetHashCode();
            }
            if (__isset.ableToReceiveFriendRequest)
            {
                hashcode = (hashcode * 397) + AbleToReceiveFriendRequest.GetHashCode();
            }
            if (__isset.chatMidToExcludeMembers)
            {
                hashcode = (hashcode * 397) + ChatMidToExcludeMembers.GetHashCode();
            }
            if (__isset.includingMe)
            {
                hashcode = (hashcode * 397) + IncludingMe.GetHashCode();
            }
        }
        return(hashcode);
    }
    public override string ToString()
    {
        var  sb      = new StringBuilder("SquareMemberSearchOption(");
        bool __first = true;

        if (__isset.membershipState)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("MembershipState: ");
            MembershipState.ToString(sb);
        }
        if (MemberRoles != null && __isset.memberRoles)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("MemberRoles: ");
            MemberRoles.ToString(sb);
        }
        if (DisplayName != null && __isset.displayName)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("DisplayName: ");
            DisplayName.ToString(sb);
        }
        if (__isset.ableToReceiveMessage)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("AbleToReceiveMessage: ");
            AbleToReceiveMessage.ToString(sb);
        }
        if (__isset.ableToReceiveFriendRequest)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("AbleToReceiveFriendRequest: ");
            AbleToReceiveFriendRequest.ToString(sb);
        }
        if (ChatMidToExcludeMembers != null && __isset.chatMidToExcludeMembers)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ChatMidToExcludeMembers: ");
            ChatMidToExcludeMembers.ToString(sb);
        }
        if (__isset.includingMe)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("IncludingMe: ");
            IncludingMe.ToString(sb);
        }
        sb.Append(")");
        return(sb.ToString());
    }