This page is specific to
Microsoft Visual Studio 2005/.NET Framework 2.0
Other versions are also available for the following:
Visual Studio Team System
Do not dispose objects multiple times
| TypeName | DoNotDisposeObjectsMultipleTimes |
| CheckId | CA2202 |
| Category | Microsoft.Usage |
| Breaking Change | NonBreaking |

Cause
A method implementation contains code paths that could cause multiple calls to System.IDisposable.Dispose or a Dispose equivalent (such as a Close() method on some types) on the same object.

Rule Description
A correctly implemented Dispose method can be called multiple times without throwing an exception. However, this is not guaranteed and to avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.

How to Fix Violations
To fix a violation of this rule, change the implementation so that regardless of the code path, Dispose is called only one time for the object.

When to Exclude Warnings
Do not exclude a warning from this rule. Even if Dispose for the object is known to be safely callable multiple times, the implementation might change in the future.

See Also