\[~tamas.vajk] if this rule comes from R#, please provide the R# rule key.
Also, there is the question of classes that ``++Dispose++`` of their ``++IDisposable++`` members, but not from their own ``++Dispose++`` methods. I.e. they call ``++Dispose++`` from some other, randomly-named method. Does this case merit coverage under this rule? A separate rule?
\[~ann.campbell.2] I think the separate rule for "implementing IDisposable" (\http://jira.sonarsource.com/browse/RSPEC-2931) is a good idea. Let's keep it this way, we'll see if it generates loads of duplicate issues or not.
Beside the types covered in the description, all types implementing IDisposable should be covered as well. See https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2000[CA2000]