使用 Roslyn 的方法的参数验证
Parameter validation for a method using Roslyn
我想在编译时为扩展方法执行参数验证。
像这样
这是我要验证的程序的示例代码
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 验证方法参数的示例代码将非常有用
您可以使用https://sharplab.io/查看代码的语法树。
您可能想要注册一个操作而不是一个动作:
context.RegisterOperationAction(YourAnalyzer, OperationKind.Invocation);
您可以在这些存储库中找到很多示例:
我想在编译时为扩展方法执行参数验证。
像这样
这是我要验证的程序的示例代码
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 验证方法参数的示例代码将非常有用
您可以使用https://sharplab.io/查看代码的语法树。
您可能想要注册一个操作而不是一个动作:
context.RegisterOperationAction(YourAnalyzer, OperationKind.Invocation);
您可以在这些存储库中找到很多示例: