提交 00789e43 编写于 作者: L Larry Golding

Merge pull request #3578 from lgolding/master

#2033: CA1052: Incorporate PR feedback from @cston
......@@ -73,9 +73,9 @@ public class CA1052DiagnosticAnalyzer : AbstractNamedTypeAnalyzer
AnalyzerOptions options,
CancellationToken cancellationToken)
{
if (symbol.IsStaticHolderType()
&& !symbol.IsStatic
&& (symbol.IsPublic() || symbol.IsProtected()))
if (!symbol.IsStatic
&& (symbol.IsPublic() || symbol.IsProtected())
&& symbol.IsStaticHolderType())
{
addDiagnostic(symbol.CreateDiagnostic(Rule, symbol.Name));
}
......@@ -102,24 +102,14 @@ internal static class CA1052Extensions
/// </remarks>
internal static bool IsStaticHolderType(this INamedTypeSymbol symbol)
{
if (!symbol.IsReferenceType)
if (symbol.TypeKind != TypeKind.Class)
{
return false;
}
List<ISymbol> declaredMembers = symbol.GetMembers()
.Where(m => !m.IsImplicitlyDeclared)
.ToList();
IEnumerable<ISymbol> declaredMembers = symbol.GetMembers().Where(m => !m.IsImplicitlyDeclared);
List<ISymbol> qualifyingMembers = declaredMembers
.Where(IsQualifyingMember)
.ToList();
List<ISymbol> disqualifyingMembers = declaredMembers
.Where(IsDisqualifyingMember)
.ToList();
return qualifyingMembers.Count > 0 && disqualifyingMembers.Count == 0;
return declaredMembers.Any(IsQualifyingMember) && !declaredMembers.Any(IsDisqualifyingMember);
}
/// <summary>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册