C# · 12月 26, 2021

c# – 是否应添加或删除这些参数?

当Resharper与自己争论时,如何知道哪个角色更可信?

我想我发现一些代码确实让Resharper感到困惑(这显然是一个非常不寻常的案例 – 在使用它一天之后,我认为Resharper是蜜蜂的膝盖/自从液化面包以来最好的东西等).

使用这行代码:

ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(SecretKey.GetBytes(32),SecretKey.GetBytes(16));

Resharper告诉我“添加参数名称’rgbkey’”然后“添加参数名称’rgbIV’”

那么那条线就是:

ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(rgbKey: SecretKey.GetBytes(32),rgbIV: SecretKey.GetBytes(16));

然而,当我再次运行Resharper时,它说,

“冗余参数名称规范” – “删除参数名称规范”(rgbkey)(然后是rgbIV).

似乎两种方式都可行,但……

解决方法 显式参数命名在强制参数上是可选的,因此两种形式都是“正确的”,问题是您更喜欢哪种?就像vcsjones所说,Resharper只是给你一些重构选项以满足你的喜好.