У меня есть метод проверки правописания ниже в моем приложении в доме. Как новый программист, он был собран из нескольких источников и изменен, пока он не сработал для меня.
Когда я расту и учусь, я сталкиваюсь с вещами, которые заставляют меня идти, хм. Как и этот пост, Как правильно очистить объекты взаимодействия Excel в C # , где говорится о правильной очистке взаимодействия.
Я заметил, что он неоднократно упоминает использование Marshal.FinalReleaseComObject()
или Marshal.ReleaseComObject()
.
У меня такой вопрос, на основании приведенного ниже кода мне это тоже нужно? Спасибо
public string CheckSpelling(string text)
{
Word.Application app = new Word.Application();
object nullobj = Missing.Value;
object template = Missing.Value;
object newTemplate = Missing.Value;
object documentType = Missing.Value;
object visible = false;
object optional = Missing.Value;
object savechanges = false;
app.ShowMe();
Word._Document doc = app.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
doc.Words.First.InsertBefore(text);
Word.ProofreadingErrors errors = doc.SpellingErrors;
var ecount = errors.Count;
doc.CheckSpelling(ref optional, ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional);
object first = 0;
object last = doc.Characters.Count - 1;
var results = doc.Range(ref first, ref last).Text;
doc.Close(ref savechanges, ref nullobj, ref nullobj);
app.Quit(ref savechanges, ref nullobj, ref nullobj);
return results;
}