JetBrains Rider 2025.2 Help

代码检查:参数隐藏了主构造函数参数

使用对象初始化器初始化 示意图 变量可能会出现问题,如果在初始化期间抛出异常。 这是可能的,因为编译器会在执行进入 示意图 子句之前创建并初始化对象。 如果在初始化期间抛出异常,程序将永远不会进入 示意图 子句,并且对象不会被释放。

在下面的示例中, 打印() 方法的 str 参数与 MySample 类的主构造函数参数同名,但仍然可以清楚地看到 Console.WriteLine(str); 将输出 两个

现在假设 MySample打印() 是带有多个参数的冗长声明。 在这种情况下,代码的读者可能会忽略方法中的 str 参数,并假设 Console.WriteLine(str); 将输出在对象创建期间接收到的 one

为避免混淆和潜在错误,请重命名方法参数。

public class MyTest { public MyTest() { var sample = new MySample("one"); sample.Print("two"); } } public class MySample(string str) { public void Print(string str) { Console.WriteLine(str); } }
最后修改日期: 2025年 9月 26日