代码检查:属性可以设置为仅初始化(非私有访问权限)
此检查会识别仅在构造函数中初始化的属性,并建议将其 集合 访问器替换为 init 访问器。
C# 9.0 及更高版本中的 init 访问器允许以比以前更灵活的方式使属性变为不可变。 与 只读 字段或仅获取属性不同,仅初始化属性只能在对象初始化期间设置。 这有助于在对象创建后保持其不可变性,从而实现更安全且通常更简单的代码。
public class Blog
{
public Blog(string name)
{
Name = name;
}
public string Name { get; set; }
}
public class Blog
{
public Blog(string name)
{
Name = name;
}
public string Name { get; init; }
}
要使解决方案范围的检查生效,您需要启用以下至少一项功能:
简化的全局使用检查:在 JetBrains Rider 设置 的 页面上选择 在关闭全局范围分析时显示未使用的非私有类型成员 Ctrl+Alt+S。
解决方案范围分析 :在 JetBrains Rider 设置 的 页面上选择 启用解决方案级分析(_A) Ctrl+Alt+S。
请注意,即使报告的访问器在您的解决方案中没有直接使用,也可能存在间接使用的情况——例如,通过反射——或者它可能只是被设计为公共 API。 在所有这些情况下,您可能希望通过以下方式之一 抑制访问器的使用检查:
推荐的方法是为隐式使用的访问器添加 代码注解属性。 为此目的有两个属性: [UsedImplicitly] 和 [PublicAPI] ,它们在功能上相似,但可以让您和您的团队了解访问器的实际使用方式。
您还可以使用任何自定义属性来抑制使用检查。 为此,请使用 [MeansImplicitUse]属性标记该属性的定义。
最后,您可以像处理任何其他代码检查一样,通过 抑制注释或抑制属性来抑制特定的使用检查。
最后修改日期: 2025年 9月 26日