ICode9

精准搜索请尝试: 精确搜索
  • c# – 使用Roslyn时,Console不包含ReadKey的定义2019-07-10 22:06:39

    我试图动态编译代码并在运行时执行它.所以我按照http://www.tugberkugurlu.com/archive/compiling-c-sharp-code-into-memory-and-executing-it-with-roslyn作为指导. 示例中给出的代码完美地起作用.但是,如果我使用Console.ReadKey(),它会给我错误CS0117:’Console’不包含’ReadKe

  • c# – 重写方法声明2019-07-09 03:07:35

    我正在迭代一个类型中的方法,并且必须重写那些非静态的方法.我必须插入一个参数作为第一个或最后一个参数,但无法弄清楚如何创建ParameterSyntax对象 这就是我到目前为止所拥有的 var methods = from m in r.Members.OfType<MethodDeclarationSyntax>() where !m.Mo

  • c# – 我们应该如何向现有变量添加实例化?2019-07-03 08:02:39

    我编写了一个能够正确检测未实例化集合的Analyzer.现在我正在编写适当的CodeFixProvider,它将提供实例化它的选项. 当我执行我的代码并查看提供的修复程序时,它只会删除标识符并仅保留类型.我的方法在哪里出错了? public async Task<IEnumerable<CodeAction>> GetFixesAsync(Docume

  • c# – 使用roslyn编译Xaml以获取* .g.cs文件2019-07-03 07:04:12

    我正在寻找使用xaml文件来生成自动生成文件(* .g.cs文件) 我在roslyn解决方案中找到了MSBuidWorkspaceTests.cs中的这个方法: public void TestOpenProjectAsyncWithXaml() { CreateFiles(GetSimpleCSharpSolutionFiles() .WithFile(@"CSharpProject\C

  • c# – 使用Roslyn CodeFixProvider向方法添加参数2019-07-02 08:56:03

    我正在编写一个Roslyn Code Analyzer,我想识别异步方法是否不采用CancellationToken然后建议添加它的代码修复: //Before Code Fix: public async Task Example(){} //After Code Fix public async Task Example(CancellationToken token){} 我已经通过检查methodDeclaration

  • c# – 如何在Roslyn推荐的符号中包含关键字和别名?2019-07-01 09:55:20

    我正在使用Roslyn使用IntelliSense创建一个C#脚本控件. 我通常对我得到的结果非常满意,但是,推荐的符号不包括for和if等等的关键字,并且当它包含Int32时也不包含类型别名,例如int. 更具体地说,我使用的是Microsoft.CodeAnalysis.Recommendations,即: Recommender.GetRecommendedSym

  • 基于 Roslyn 实现动态编译2019-06-29 19:51:48

    基于 Roslyn 实现动态编译 Intro 之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn 去做了。实现的原理在于编译选择的Model 文件生成一个程序集,再从这个程序集中拿到 Model (数据库表)信息以及属性信息(

  • c# – 如何在调用NormalizeWhitespace方法时阻止Lambda块语句中的新行2019-06-28 20:55:12

    我有以下代码.. var tree = CSharpSyntaxTree.ParseText( @" Func<string, string> parser = value => { return string.Format(""Hello {0}"", value); }; "); var root = (CompilationUnitSyntax)tree.GetRoo

  • c# – EventSourceException:操作系统中没有可用的免费缓冲区2019-06-28 13:56:13

    完整的例外文本是: EventSourceException: No Free Buffers available from the operating system (e.g. event rate too fast). 由于递归,我称这种方法大约一百万次.它没有停止,我只是在VS2013的Output Debug windown中得到异常文本.但它超级慢. private static IEnumerable

  • c# – 用roslyn fix替换注释(在正确的位置添加琐事)2019-06-28 09:53:39

    鉴于以下“代码修复” 我正在尝试替换属性的文档元素,并将其替换为我的快速修复文档. 我正在与琐事作斗争 private Task<Document> AddDocumentationAsync(CodeFixContext context, SyntaxNode root, DocumentationCommentTriviaSyntax xmlElementSyntax) { const

  • c# – 从MetadataReference中获取ISymbol的文档2019-06-28 01:02:54

    我最近开始学习Roslyn Code Analysis.我经历了提供的示例代码.我的问题如下: 有没有办法如何获取从引用的库加载的符号的XML文档注释? 我使用的示例代码是FAQ(7).我们的目标是获得一个Console.Write函数的文档注释. public void GetWriteXmlComment() { var project

  • c# – 如何使用Roslyn以编程方式从代码中删除区域?2019-06-27 13:55:41

    我正在使用Roslyn从文本中解析C#代码.一些代码具有围绕多个类的区域.例: #region Classes public class MyClass { } public class MyClass2 { #region Methods #endregion } #endregion 我想删除类周围的区域(上例中的“类”),但保留内部区域,就像上面示例中名为“Metho

  • c# – 在使用Roslyn生成代码时,如何在一行上获得autoproperties?2019-06-27 10:53:45

    我有以下部分代码,我用它来生成基于我们用于面向客户的研讨会等的excel文件的数据交换. private PropertyDeclarationSyntax[] GenerateProperties() { var props = new List<PropertyDeclarationSyntax>(); props.Add(SF.PropertyDeclaration(SF.ParseTy

  • c# – 删除已删除块的内容2019-06-24 10:51:47

    我正在编写一个带有Code Fix的Roslyn Diagnostic.如果有一个带有一个空catch块的try块,我想提供一个选项来删除catch块并用其内容替换try块.我的问题是try块内容的外观.我尝试使用Formatter,但这些行仍然过多地使用了一个级别.这是我的代码: private async Task<Document> RemoveTr

  • c# – Roslyn中的数据流分析2019-06-24 06:51:51

    我在C#中有以下代码: public class X : IX { public void E(IX d) { Data dt = new Data(); dt.Name = ViewState["a"]; Count(dt); } } 我正在使用Roslyn对数据流分析进行一些测试. 所以,我传递了第一个语句(Data dt = new Data())来分析数据流

  • c# – 将令牌和琐事映射到行号2019-06-23 21:56:01

    我正在尝试使用Roslyn将令牌和琐事映射到行号. 以下是@Kevin Pilch-Bisson帮助下的最新尝试. public class CSharpSlocAnalyser : ISlocAnalyser { public long GetSlocFor(IEnumerable<FileInfo> files, SlocOptions options) { var tree = CSharpSyntaxTree.Par

  • c# – 我在哪里可以找到Roslyn中不同符号种类下的符号类型?2019-06-23 14:56:12

    我正在使用以下代码尝试RegisterSymbolAction: context.RegisterSymbolAction(AnalyzeSymbol, SymbolKind.???); 我找到了想要使用Syntax Visualizer匹配的确切节点: 您可以看到窗口显示Kind是Attribute,但SymbolKind枚举does not offer这种类型. 正如你所看到的,我很困惑 – 我认

  • c# – Roslyn SyntaxTree改变注入2019-06-23 14:54:34

    我编写了我的类MonitorSyntaxRewriter,它继承自CSharpSyntaxRewriter.通过这门课,我改变了我的SyntaxTree.但是,我怎样才能“注入”这个修改过的synaxtree?我的意思是,我在Visual Studio中有一些随机项目,在Build上,我希望所有语法树都通过这个MonitorSyntaxRewriter.那有什么选择吗

  • c# – Roslyn – CodeDom:HowTo动态编译Code到Universal-Windows-Library2019-06-23 14:51:56

    我正在生成一个动态包含WPF项目包装类的.NET Dll.我正在使用System.CodeDom.Compiler.CodeDomProvider类. 现在我必须为Universal-Windows-Dll创建一个包装类. 由于System.CodeDom.Compiler.CodeDomProvider类仍然使用旧的.NET编译器,我不得不切换到新的Roslyn编译器(通过添加Nuget

  • c# – 一次重命名多个符号? (使用Roslyn)2019-06-23 13:53:56

    Renamer.RenameSymbolAsync重命名一个符号并创建一个新的解决方案.如果有100个符号需要重命名 – 它需要被调用100次,并且将创建100个完整的解决方案(每个都来自前一个).那太贵了.有没有办法告诉Roslyn重命名一组符号,然后才创建所需的解决方案?解决方法:不,目前没有API可以做到这一

  • c# – 如何检索所有(也是唯一的)类变量?2019-06-23 08:54:19

    我需要提取所有类变量.但我的代码返回所有变量,包括在方法(本地)中声明的变量.例如: class MyClass { private int x; private int y; public void MyMethod() { int z = 0; } } 我需要只获得x和y,但我得到x,y和z. 我的代码到目前为止: SyntaxTree t

  • c# – 使用struct和properties时没有编译错误2019-06-23 01:54:09

    考虑C#中的以下结构: public struct TestStruct { public int Number { get; set; } public TestStruct(int num) { Number = num; } } 我非常熟悉编译错误,如果尝试编译它会发生(this和that问题提供了一个例子). 但是,我最近注意到这样的结构在Visual S

  • 使用Roslyn处理C#脚本时的编译错误2019-06-13 06:04:01

    我使用Roslyn将C#脚本引擎嵌入到我的应用程序中,到目前为止,我可以毫无问题地执行代码.我可以举例来说,执行以下代码: using System; var str = "Hello Roslyn"; Console.WriteLine(str); 在上面的代码片段中构建语法树时,我遇到了编译问题.编译器抱怨直接嵌入到主命名空间中的语

  • c# – 将SyntaxKind传递给类Syntax的工厂方法的原因是什么?2019-06-12 23:05:50

    在Roslyn CTP中,通常使用以下方法签名: LiteralExpressionSyntax LiteralExpression(SyntaxKind kind, SyntaxToken token) 传递SyntaxKind的原因是什么?令牌本身有Kind属性,为什么Roslyn不使用它? 更确切地说,它需要用户提供的类型,断言它仅限于一组窄的值,然后检查令牌的Kind也属

  • c# – 使用Roslyn创建一个Func <>2019-06-12 12:52:49

    受到this和this文章的启发,我正在尝试用Roslyn创建一个动态函数. 然而,上述来源已过时或未完成,我无法创建功能样本.到目前为止我的工作: var code = @"Func<int, int> doStuffToInt = i => { var result = i; for (var y = i; y <= i * 2; y++) { result += y;

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有