Resharper 我可以专门在本地函数中设置参数的命名样式吗?
当我在C#中使用局部函数时,我希望保持它们的纯净,而不依赖于捕获局部变量。由于名称冲突,我无法将参数命名为与函数外部的局部变量相同的名称,因此我希望在它们前面加下划线,以便对此有一个通用的工作策略Resharper 我可以专门在本地函数中设置参数的命名样式吗?,resharper,Resharper,当我在C#中使用局部函数时,我希望保持它们的纯净,而不依赖于捕获局部变量。由于名称冲突,我无法将参数命名为与函数外部的局部变量相同的名称,因此我希望在它们前面加下划线,以便对此有一个通用的工作策略 bool MyLocalFunction(string _str) { //... } var str = ""; var isValid = MyLocalFunction(str); 是否可以使ReSharper在所有本地函数中强制此命名,同时不影响常规方法中参数的命名?我在设置中找
bool MyLocalFunction(string _str)
{
//...
}
var str = "";
var isValid = MyLocalFunction(str);
是否可以使ReSharper在所有本地函数中强制此命名,同时不影响常规方法中参数的命名?我在设置中找不到该选项。如果您使用的是C#8.0(.NET Core 3.x和.NET Standard 2.1),则可以使用。例如:
using System;
namespace ConsoleAppLocalFunction
{
public static class Program
{
public static void Main()
{
var first = "Foo";
var last = "Bar";
Console.WriteLine(LocalMethod1("Test", "Message"));
Console.WriteLine(LocalMethod2());
static string LocalMethod1(string first, string last) => first + last;
string LocalMethod2() => first + last;
}
}
}
运行此操作时,结果将为:
TestMessage
FooBar
LocalMethod1
将使用参数,但无法访问局部变量,LocalMethod2
将使用局部变量
我认为您不能将ReSharper配置为对本地方法参数使用命名样式。谢谢,不过我暂时还是用C#7。很遗憾,您可以只使用标准的非本地函数。