ACPAddIn.ExtensionMode.retrieveExtendSuggestion C# (CSharp) Метод

retrieveExtendSuggestion() приватный Метод

private retrieveExtendSuggestion ( ) : void
Результат void
        private void retrieveExtendSuggestion()
        {
            Suggestion lastExtension = null;
            List<Suggestion> nextExtensions = null;

            try
            {
                switch (extensionType)
                {
                    case Suggestion.PARAGRAPH:
                        lastExtension = extensions[extensionPos];
                        nextExtensions = logic.requestExtendSuggestion(lastExtension.id, Suggestion.PARAGRAPH);

                        // if is completing the last sentence of paragraph
                        if (isCompletingLastSentenceOfPara)
                        {
                            if (nextExtensions.Count > 0)
                            {
                                Sentence lastSentence = (Sentence)lastExtension;
                                Sentence firstSentenceOfNextPara = (Sentence)nextExtensions[0];

                                if (lastSentence.paragraphID != firstSentenceOfNextPara.paragraphID)
                                {
                                    return;
                                }
                            }

                            isCompletingLastSentenceOfPara = false;
                        }

                        break;
                    case Suggestion.SENTENCE:
                        // Send network request to Java ACP to request for suggestions
                        lastExtension = extensions[extensionPos];
                        nextExtensions = logic.requestExtendSuggestion(lastExtension.id, Suggestion.SENTENCE);
                        break;
                    case Suggestion.WORD:
                        lastExtension = extensions[extensionPos];
                        nextExtensions = logic.requestExtendSuggestion(lastExtension.id, Suggestion.SENTENCE);
                        break;
                    default:
                        Console.WriteLine("retrieveExtendSuggestion: Suggestion type undefined");
                        break;
                }

                if (lastExtension != null && nextExtensions != null)
                {
                    // display suggestions
                    displayExtension(nextExtensions, true);
                }
            }
            catch (System.Net.Sockets.SocketException e)
            {
                // Inform UI Thread to display error message
                if (!isExtensionFail)
                {
                    isExtensionFail = true;
                    Globals.ThisAddIn.Dispatcher.Invoke(new displayErrorMessageDelegate(displayErrorMessage), new Object[] { "Unable to communicate to the ACP backend processes", "ACP is not running on the background." });
                }
            }
        }