gpt4 book ai didi

c# - 使用 Resharpers 模式目录查找具有 3 个以上参数的构造函数

转载 作者:太空狗 更新时间:2023-10-29 20:28:45 27 4
gpt4 key购买 nike

是否可以在Resharper的模式目录中创建一个搜索模式来查找所有参数超过3个的构造函数?
如果可以,怎么做?
我的问题是我不知道如何告诉 Resharper 只有构造函数定义应该匹配。

最佳答案

据我所知,Resharper 中的模式只能在方法中匹配。所以你无法匹配构造函数声明。

不过我只是尝试了以下模式:

new $type$($args$)

其中 type 是类型的占位符(谁会猜到?)和 args 至少 3 个参数。这确实找到了至少 3 个参数构造函数的所有使用,但它不会找到未使用的构造函数,最重要的是,它会找到这个:

public class MyClass : MyAbstractClass
{
public MyClass(int foo1, int foo2) : base(foo1, foo2, 0)
{
// ...
}
}

因此,如果您认为自己会遇到这些情况,您应该尝试使用正则表达式查找而不是使用 Resharper 模式。这可能很难,因为想想 C# 语法非常复杂,但你可以得到一些东西......

编辑:我调整了一个 visual studio 正则表达式搜索构造函数声明,识别新行和至少参数(可以有可选值):

^(:b|\n)*((public|internal|private|protected|static|sealed)(:b|\n)+)+:i(:b|\n)*\((:b|\n)*:i(:b|\n)+:i(:b|\n)*(|\=(:b|\n)*:a*(:b|\n)*)(,(:b|\n)*:i(:b|\n)+:i(:b|\n)*(|\=(:b|\n)*:a*(:b|\n)*))^2(,(:b|\n)*:i(:b|\n)+:i(:b|\n)*(|\=(:b|\n)*:a*(:b|\n)*))*\)

它很难看,主要是因为 VS 自定义正则表达式没有任何标准 \w{2,}? 的翻译.

关于c# - 使用 Resharpers 模式目录查找具有 3 个以上参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848215/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com