roslyn

    1热度

    1回答

    我想制作一个分析器,该代码将为每个出现在代码中的某个特定成员发出一条消息(严重性=信息)。这模仿[Obsolete(...)]的行为,但只是抛出一条消息。 属性定义会是这样的 public class ThrowsMessageAttribute : Attribute { // ... } 我想抛出一个消息,然后将它归因员: public class Foo { [

    0热度

    1回答

    我写了一个分析器,并验证它正在工作。 [DiagnosticAnalyzer(LanguageNames.CSharp)] public class ConstDiagnosticAnalyzer : DiagnosticAnalyzer { public const string DiagnosticId = "LocalizationTool"; private st

    2热度

    1回答

    我正在尝试通过Roslyn与C#项目一起工作。我不喜欢这样写道: solution = workspace.OpenSolutionAsync(solutionPath).Result; foreach (var project in solution.Projects) { foreach (var document in project.Documents) { ...

    2热度

    1回答

    我试图找回在罗斯林一类语法节点的类型,所以我可以用@slaks沿着以下获得封闭命名空间检索类型信息回答:Roslyn : How to get the Namespace of a DeclarationSyntax with Roslyn C# 我有以下几点: static async Task MainAsync(string[] args) { string projectPat

    3热度

    1回答

    我编写了根据初始状态生成新类的代码。 罗斯林提供它的类SyntaxFactory,但我不明白如何通过调用基类,这样生成一个构造器: public TestClientApi(String entryPoint) : **base(entryPoint)** { _entryPoint = entryPoint; } https://github.com/ddydeveloper/

    0热度

    2回答

    我编写了代码,它为WebAPI控制器方法调用生成一个类。当我尝试生成的方法体我有问题的字符串格式是这样的: public async Task<String> HttpPost(Boolean isSuccess) { var taskCompletion = new TaskCompletionSource<IRestResponse>(); var request =

    1热度

    1回答

    我一直在处理一个我将要假设的问题是特定于环境的问题。 当我向CodeFixProvider添加任何函数(引用或不引用)时,我安装并重新安装了Roslyn Templates。 这是完整代码修复提供商修改是增加新的功能 [ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(AggregateBugAnalyzerCodeFixProvi

    0热度

    1回答

    我写了一个函数将LocalDeclaration转换为Global Resources。现在,我与一个属性每个定义更换,但我想用新的语法与属性来代替它=> public PropertyDeclarationSyntax ConvertToResourceProperty(string resouceClassIdentifier, string fieldName, string resourc

    2热度

    1回答

    我有以下代码: var ws = new AdhocWorkspace(); var project = ws.AddProject("Sample", "C#"); ws.TryApplyChanges(project.Solution); string text = @" class C { pr

    1热度

    2回答

    我正在使用roslyn API编写DiagnosticAnalyzer和CodeFix。 当我收集了所有的字符串和字符串插值后,我想将它们写入一个文件,但我不知道如何以最好的方式做到这一点。 当然,我总是可以简单地做一个File.WriteAllText(...),但我想向用户公开更多的控制。 我也不能确定如何最好地触发这个文件的生成,所以我的问题是: 我不想硬编码的文件名,这将是最好的方式将此设