System.DateTimeParse.ProcessTerminaltState C# (CSharp) Méthode

ProcessTerminaltState() static private méthode

static private ProcessTerminaltState ( DS dps, DateTimeResult &result, DateTimeRawInfo &raw, DateTimeFormatInfo dtfi ) : Boolean
dps DS
result DateTimeResult
raw DateTimeRawInfo
dtfi DateTimeFormatInfo
Résultat Boolean
        internal static Boolean ProcessTerminaltState(DS dps, ref DateTimeResult result, ref DateTimeRawInfo raw, DateTimeFormatInfo dtfi)
        {

            switch (dps)
            {
                case DS.DX_NN:
                    if (!GetDayOfNN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_NNN:
                    if (!GetDayOfNNN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_MN:
                    if (!GetDayOfMN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_NM:
                    if (!GetDayOfNM(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_MNN:
                    if (!GetDayOfMNN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_DS:
                    // The result has got the correct value. No need to process.
                    break;
                case DS.DX_YNN:
                    if (!GetDayOfYNN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_NNY:
                    if (!GetDayOfNNY(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_YMN:
                    if (!GetDayOfYMN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_YN:
                    if (!GetDayOfYN(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.DX_YM:
                    if (!GetDayOfYM(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
                case DS.TX_N:
                    if (!GetTimeOfN(dtfi, ref result, ref raw)) {
                        return false;
                    }
                    break;
                case DS.TX_NN:
                    if (!GetTimeOfNN(dtfi, ref result, ref raw)) {
                        return false;
                    }
                    break;
                case DS.TX_NNN:
                    if (!GetTimeOfNNN(dtfi, ref result, ref raw)) {
                        return false;
                    }
                    break;
                case DS.TX_TS:
                    // The result has got the correct value. Nothing to do.
                    break;
                case DS.DX_DSN:
                    if (!GetDateOfDSN(ref result, ref raw)) {
                        return false;
                    }
                    break;
                case DS.DX_NDS:
                    if (!GetDateOfNDS(ref result, ref raw)) {
                        return false;
                    }
                    break;
                case DS.DX_NNDS:
                    if (!GetDateOfNNDS(ref result, ref raw, dtfi)) {
                        return false;
                    }
                    break;
            }

            if (dps > DS.ERROR)
            {
                //
                // We have reached a terminal state. Reset the raw num count.
                //
                raw.numCount = 0;
            }
            return true;
        }