0
public class MyClass
{
    private Func<string, string> KeyTransformer;

    public MyClass(Func<string, string> keyTransformer)
    {
        KeyTransformer = keyTransformer;
    }

    public string DoSomething(string input)
    {
        return KeyTransformer(input);
    }
}

显然 Resharper 建议我将“字段”重命名为 _keyTransformer。

但是这样写感觉不对:

string newKey = _keyTransformer("input");

所以问题 #1 是: 帕斯卡套管还是骆驼套管?

问题 #2 是(如果是帕斯卡): 我如何告诉 Resharper 可以为 Func 使用帕斯卡大小写?

4

2 回答 2

0

这是私人领域,所以骆驼案。

规则 SA1306:变量名称和私有字段名称必须以小写字母开头:{0}。

(在 R# 的情况下)建议下划线并不明显。

规则 SA1309:字段名称不得以下划线开头。

所以你必须改变你的 R# 的行为:) 在我安装 StyleCop (4.7.47) 并在 VS 中打开项目后,R# 通知我一些规则与 StyleCop 不一致并询问我是否要更改它. 所以我在 R# 和 StyleCop 中有相同的规则(例如私有字段的命名约定)

public class MyClass
{
    private Func<string, string> keyTransformer;

    public MyClass(Func<string, string> keyTransformer)
    {
        this.keyTransformer = keyTransformer;
    }

    public string DoSomething(string input)
    {
        return keyTransformer(input);
    }
}
于 2013-12-07T10:45:18.927 回答
0

下一个阅读代码的人会更清楚哪种风格?

在这种情况下,您正在做一些不寻常的事情(调用存储在字段中的方法),因此语法使其脱颖而出的事实并不是坏事。

于 2013-11-14T09:05:26.603 回答