Why SpellChecker (C#) incorrectly defines words? -


i need determine correct spelling specific word list. if word wrong write in in file. used class spellchecker, code:

public class spellchecker : idisposable {     system.type tword = null; object com_app = null;      private static spellchecker checker = new spellchecker();     private spellchecker()     {         try         {             tword = type.gettypefromprogid("word.application");             com_app = activator.createinstance(tword);         }         catch { com_app = null; }     }      public static spellchecker getchecker() { return checker; }     public void dispose()     {         if (com_app != null)         {             object[] arg = { null, null, null };             tword.invokemember("quit", bindingflags.invokemethod,                 null, com_app, arg);             com_app = null;         }     }     public bool checkword(string word)     {         object[] arg = { word };         return (bool)tword.invokemember("checkspelling",             bindingflags.invokemethod, null, com_app, arg);     } } 

but on same word working on different, if setter list (with word) or 1 word. in process debug see, checkword give me true in 1 case, , false in case. 1 word, sure.

var allword = getwords(xdoc);             foreach (var word in allword)             {                 if (!spellchecker.checkword(word))                 {                     result.writeline(word);                 }             } 

i realized. in cases checkword give me wrong answer. example, need check russian , english word. if give list list = list(){"gsm\mpg4\lte", "Привет"}, on first word in list call me true, second word false.


Comments

Popular posts from this blog

matlab - error with cyclic autocorrelation function -

django - (fields.E300) Field defines a relation with model 'AbstractEmailUser' which is either not installed, or is abstract -

c# - What is a good .Net RefEdit control to use with ExcelDna? -