CA1034 未显示,即使 <AnalysisMode>AllEnabledByDefault</AnalysisMode>
CA1034 is not being shown, even with <AnalysisMode>AllEnabledByDefault</AnalysisMode>
我创建了 Microsoft 作为示例给出的 class:
internal class ParentType
{
public class NestedType
{
public NestedType()
{
}
}
public ParentType()
{
NestedType nt = new();
}
}
但似乎没有生成警告。我正在使用 Visual Studio 2019。正在测试此代码的框架是 .NET 5
警告 CA1034 仅在外部可见的嵌套类型上报告,这些嵌套类型在另一个外部可见类型中声明。
由于您的封闭类型是 internal
,您的嵌套类型也无法从此程序集外部访问,因此没有违反规则。
当您创建封闭类型 public
时,您也会看到正在报告的诊断信息:
public class ParentType
{
public class NestedType // Warning CA1034
{
}
}
所以我相信你在官方文档的例子中发现了一个错误。
更新:官方文档现在更新了固定的示例代码。
我创建了 Microsoft 作为示例给出的 class:
internal class ParentType
{
public class NestedType
{
public NestedType()
{
}
}
public ParentType()
{
NestedType nt = new();
}
}
但似乎没有生成警告。我正在使用 Visual Studio 2019。正在测试此代码的框架是 .NET 5
警告 CA1034 仅在外部可见的嵌套类型上报告,这些嵌套类型在另一个外部可见类型中声明。
由于您的封闭类型是 internal
,您的嵌套类型也无法从此程序集外部访问,因此没有违反规则。
当您创建封闭类型 public
时,您也会看到正在报告的诊断信息:
public class ParentType
{
public class NestedType // Warning CA1034
{
}
}
所以我相信你在官方文档的例子中发现了一个错误。
更新:官方文档现在更新了固定的示例代码。