resharper - 我可以在本地函数中专门为参数设置命名样式吗?
问题描述
当我在 C# 中使用局部函数时,我希望它们保持纯净,而不依赖于捕获局部变量。由于我不能将我的参数命名为与函数外部的局部变量相同,由于名称冲突,我想在它们前面加上下划线,以便为此制定一个通用的工作策略。
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 配置为使用本地方法参数的命名样式。
推荐阅读
- python - 为什么 call() 之后的其余代码不起作用?
- python - 线程 - 标记值或事件来打破循环
- node.js - NGINX:使用 1 个域名为多个端口设置 SSL 证书
- jquery - 来自图像数据类型 SQL Server 的剑道自动完成模板
- graphql - Apollo graphql 远程模式扩展依赖于远程字段
- neo4j - Neo4j 设计选择:关系与节点
- java - 将 webdriver 传递给另一个类的正确方法
- c# - 在GDAL(C#)中将点几何添加到shapefile
- json - 尝试通过 fetch 读取 json 文件时出错
- c++ - 第一个代码中的错误,但第二个正确“在抛出 'std::bad_alloc' what() 的实例后调用终止:std::bad_alloc Aborted(core dumped)”