【问题标题】:Parameter validation for a method using Roslyn使用 Roslyn 的方法的参数验证
【发布时间】:2019-07-24 19:28:41
【问题描述】:

我想在编译时为扩展方法执行参数验证。

类似的东西

这是我要验证的程序的示例代码

public class Program
{
    static void Main(string[] args)
    {
        var sample = new Sample();
        var output = sample.SampleMethod("To Validate");  // I want to validate this param
    }
}

public static class Ext
{
    public static string SampleMethod(this Sample sample, string sampleParam)
    {
        return sampleParam + " Hello";
    }
}

public class Sample
{

}

我打算使用Roslyn,但我不知道Action 注册并获取传递的参数值。

使用 Roslyn 验证方法参数的示例代码将非常有帮助

【问题讨论】:

    标签: c# roslyn roslyn-code-analysis


    【解决方案1】:

    您可以使用https://sharplab.io/ 查看代码的语法树。

    你可能想要注册一个操作而不是一个动作:

    context.RegisterOperationAction(YourAnalyzer, OperationKind.Invocation);
    

    您可以在这些 repos 中找到很多示例:

    1. https://github.com/dotnet/roslyn-analyzers
    2. https://github.com/DotNetAnalyzers/StyleCopAnalyzers
    3. https://github.com/code-cracker/code-cracker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      相关资源
      最近更新 更多