コード例 #1
0
        public bool MoveNext()
        {
            if (IsValid)
            {
                currentRecordSet = nextRecordSet; // set the current record set.

                if (!IsLastResult)
                {
                    try
                    {
                        TaskEnumeratorResult enumeratorResultSet = null;
                        enumeratorResultSet = handler.NextRecord(pointer.ClusterAddress.IpAddress.ToString(), pointer);

                        if (enumeratorResultSet != null)
                        {
                            nextRecordSet = enumeratorResultSet.RecordSet;

                            IsLastResult = enumeratorResultSet.IsLastResult;
                            isValid      = true;
                        }
                    }
                    catch (OperationFailedException ex)
                    {
                        isValid = false;
                        throw new Exception("Output corrupted on node : " + pointer.ClientAddress.ToString() +
                                            "and Exception is :" + ex);
                    }
                }
                else
                {
                    isValid = false;
                    // Means enumerator has the last entry.
                    // Return True for that last entry
                    return(true);
                }
            }

            return(IsValid);
        }