Итак, я создаю текстовый редактор с использованием Scintill aNET и использую Roslyn. У меня есть документ, и я хотел бы знать, эффективно ли использование Document.WithText. Есть ли лучший способ обновления документа каждый раз, когда пользователь вводит? Спасибо.
РЕДАКТИРОВАТЬ Хорошо, сейчас я сохраняю объект документа, и когда мне нужно показать автозаполнение, я просто делаю это:
private Document document;
if (document == null)
{
var host = MefHostServices.Create(MefHostServices.DefaultAssemblies);
var workspace = new AdhocWorkspace(host);
var projectInfo = ProjectInfo.Create(ProjectId.CreateNewId(), VersionStamp.Create(), "Test", "Test", LanguageNames.CSharp).
WithMetadataReferences(new[]
{
MetadataReference.CreateFromFile(typeof(object).Assembly.Location)
});
var project = workspace.AddProject(projectInfo);
document = workspace.AddDocument(project.Id, "Test.cs", SourceText.From(editor.Text));
}
else
{
document = document.WithText(SourceText.From(editor.Text));
}