internal void UpdateLexicons(List <LexiconEntry> lexicons) { // Remove the lexicons that are defined in this voice but are not in the list for (int i = _lexicons.Count - 1; i >= 0; i--) { LexiconEntry entry = _lexicons[i]; if (!lexicons.Contains(entry)) { // Remove the entry first, just in case the RemoveLexicon throws _lexicons.RemoveAt(i); TtsEngine.RemoveLexicon(entry._uri); } } // Add the lexicons that are defined in this voice but are not in the list foreach (LexiconEntry entry in lexicons) { if (!_lexicons.Contains(entry)) { // Remove the entry first, just in case the RemoveLexicon throws TtsEngine.AddLexicon(entry._uri, entry._mediaType); _lexicons.Add(entry); } } }
internal void UpdateLexicons(List <LexiconEntry> lexicons) { for (int num = _lexicons.Count - 1; num >= 0; num--) { LexiconEntry lexiconEntry = _lexicons[num]; if (!lexicons.Contains(lexiconEntry)) { _lexicons.RemoveAt(num); TtsEngine.RemoveLexicon(lexiconEntry._uri); } } foreach (LexiconEntry lexicon in lexicons) { if (!_lexicons.Contains(lexicon)) { TtsEngine.AddLexicon(lexicon._uri, lexicon._mediaType); _lexicons.Add(lexicon); } } }
/// <summary> /// Tests whether two objects are equivalent /// </summary> public override bool Equals(object obj) { LexiconEntry entry = obj as LexiconEntry; return(entry != null && _uri.Equals(entry._uri)); }