Use of Recursive Bang Notation
Identifies the use of bang notation, formally known as dictionary access expression, for which a recursive default member resolution is necessary.
Reasoning
A dictionary access expression looks like a strongly typed call, but it actually is a stringly typed access to the parameterized default member of the object. This is especially misleading if the parameterized default member is not on the object itself and can only be reached by calling the parameterless default member first.
Default severity
Warning
Inspection type
CodeQualityIssues
Examples
This example should trigger a result
This example should trigger a result
This example should NOT trigger a result
This example should NOT trigger a result
This example should NOT trigger a result
This example should NOT trigger a result
Rubberduck.CodeAnalysis.Inspections.Concrete.UseOfRecursiveBangNotationInspection.cs (Prerelease-v2.5.9.6289)