Skip to content

Gendarme.Rules.Design.TypesWithNativeFieldsShouldBeDisposableRule(2.10)

Sebastien Pouliot edited this page Jan 15, 2011 · 3 revisions

TypesWithNativeFieldsShouldBeDisposableRule

Assembly: Gendarme.Rules.Design
Version: 2.10

Description

This rule will fire if a type contains IntPtr, UIntPtr, or HandleRef fields but does not implement System.IDisposable.

Examples

Bad examples:

public class DoesNotImplementIDisposable {
    IntPtr field;
}
abstract public class AbstractDispose : IDisposable {
    IntPtr field;
    // the field should be disposed in the type that declares it
    public abstract void Dispose ();
}

Good example:

public class Dispose : IDisposable {
    IDisposable field;
    public void Dispose ()
    {
        UnmanagedFree (field);
    }
}

Feedback

Note that this page was autogenerated (1/15/2011 12:27:16 PM) based on the xmldoc comments inside the rules source code and cannot be edited from this wiki. Please report any documentation errors, typos or suggestions to the Gendarme Google Group. Thanks!

Clone this wiki locally