Classes with Dispose() should implement IDisposable

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: csharp-best-practices/disposable-interface

Language: C#

Severity: Info

Category: Best Practices

Description

IDisposable provides an interface for the cleanup of unmanaged resources through the function void Dispose().

To avoid confusion, this rule ensures that any class that exposes a public void Dispose() function must implement IDisposable.

Learn More

Non-Compliant Code Examples

class MyClass {
    public void Dispose()
    {
        // contents of method
    }
}

Compliant Code Examples

class MyClass: IFoobar, IDisposable {
    public void Dispose()
    {
        // contents of method
    }
}
class MyClass: IDisposable {
    public void Dispose()
    {
        // contents of method
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis