当前位置: 首页>>代码示例>>C#>>正文


C# Waiter.CreateWaitTask方法代码示例

本文整理汇总了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();
                    }
                }
            }
        }
开发者ID:peter76111,项目名称:roslyn,代码行数:36,代码来源:SemanticClassifierTests.cs

示例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);
                }
            }
        }
开发者ID:peter76111,项目名称:roslyn,代码行数:31,代码来源:SemanticClassifierTests.cs

示例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();
                }
            }
        }
开发者ID:noahstein,项目名称:roslyn,代码行数:32,代码来源:SemanticClassifierTests.cs


注:本文中的Waiter.CreateWaitTask方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。