本文整理汇总了C#中Waiter.CreateWaitTask方法的典型用法代码示例。如果您正苦于以下问题:C# Waiter.CreateWaitTask方法的具体用法?C# Waiter.CreateWaitTask怎么用?C# Waiter.CreateWaitTask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Waiter
的用法示例。
在下文中一共展示了Waiter.CreateWaitTask方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestCreateWithBufferNotInWorkspace
public async Task TestCreateWithBufferNotInWorkspace()
{
// don't crash
using (var workspace = await TestWorkspace.CreateCSharpAsync(""))
{
var document = workspace.CurrentSolution.GetDocument(workspace.Documents.First().Id);
var contentTypeService = document.GetLanguageService<IContentTypeLanguageService>();
var contentType = contentTypeService.GetDefaultContentType();
var extraBuffer = workspace.ExportProvider.GetExportedValue<ITextBufferFactoryService>().CreateTextBuffer("", contentType);
WpfTestCase.RequireWpfFact("Creates an IWpfTextView explicitly with an unrelated buffer");
using (var disposableView = workspace.ExportProvider.GetExportedValue<ITextEditorFactoryService>().CreateDisposableTextView(extraBuffer))
{
var waiter = new Waiter();
var provider = new SemanticClassificationViewTaggerProvider(
workspace.ExportProvider.GetExportedValue<IForegroundNotificationService>(),
workspace.ExportProvider.GetExportedValue<ISemanticChangeNotificationService>(),
workspace.ExportProvider.GetExportedValue<ClassificationTypeMap>(),
SpecializedCollections.SingletonEnumerable(
new Lazy<IAsynchronousOperationListener, FeatureMetadata>(
() => waiter, new FeatureMetadata(new Dictionary<string, object>() { { "FeatureName", FeatureAttribute.Classification } }))));
using (var tagger = (IDisposable)provider.CreateTagger<IClassificationTag>(disposableView.TextView, extraBuffer))
{
using (var edit = extraBuffer.CreateEdit())
{
edit.Insert(0, "class A { }");
edit.Apply();
}
await waiter.CreateWaitTask();
}
}
}
}
示例2: TestGetTagsOnBufferTagger
public async Task TestGetTagsOnBufferTagger()
{
// don't crash
using (var workspace = await TestWorkspace.CreateCSharpAsync("class C { C c; }"))
{
var document = workspace.Documents.First();
var waiter = new Waiter();
var provider = new SemanticClassificationBufferTaggerProvider(
workspace.ExportProvider.GetExportedValue<IForegroundNotificationService>(),
workspace.ExportProvider.GetExportedValue<ISemanticChangeNotificationService>(),
workspace.ExportProvider.GetExportedValue<ClassificationTypeMap>(),
SpecializedCollections.SingletonEnumerable(
new Lazy<IAsynchronousOperationListener, FeatureMetadata>(
() => waiter, new FeatureMetadata(new Dictionary<string, object>() { { "FeatureName", FeatureAttribute.Classification } }))));
var tagger = provider.CreateTagger<IClassificationTag>(document.TextBuffer);
using (var disposable = (IDisposable)tagger)
{
await waiter.CreateWaitTask();
var tags = tagger.GetTags(document.TextBuffer.CurrentSnapshot.GetSnapshotSpanCollection());
var allTags = tagger.GetAllTags(document.TextBuffer.CurrentSnapshot.GetSnapshotSpanCollection(), CancellationToken.None);
Assert.Empty(tags);
Assert.NotEmpty(allTags);
Assert.Equal(allTags.Count(), 1);
}
}
}
示例3: TestCreateWithBufferNotInWorkspace
public void TestCreateWithBufferNotInWorkspace()
{
// don't crash
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromFile(""))
{
var document = workspace.CurrentSolution.GetDocument(workspace.Documents.First().Id);
var contentTypeService = document.GetLanguageService<IContentTypeLanguageService>();
var contentType = contentTypeService.GetDefaultContentType();
var extraBuffer = workspace.ExportProvider.GetExportedValue<ITextBufferFactoryService>().CreateTextBuffer("", contentType);
var waiter = new Waiter();
var provider = new SemanticClassificationTaggerProvider(
workspace.ExportProvider.GetExportedValue<IForegroundNotificationService>(),
workspace.ExportProvider.GetExportedValue<ISemanticChangeNotificationService>(),
workspace.ExportProvider.GetExportedValue<ClassificationTypeMap>(),
SpecializedCollections.SingletonEnumerable(
new Lazy<IAsynchronousOperationListener, FeatureMetadata>(
() => waiter, new FeatureMetadata(new Dictionary<string, object>() { { "FeatureName", FeatureAttribute.Classification } }))));
using (var tagger = (IDisposable)provider.CreateTagger<IClassificationTag>(extraBuffer))
{
using (var edit = extraBuffer.CreateEdit())
{
edit.Insert(0, "class A { }");
edit.Apply();
}
waiter.CreateWaitTask().PumpingWait();
}
}
}