I am using FileHelpers in one project, and the class MultiRecordEngine
public sealed class MultiRecordEngine
    : EventEngineBase<object>, IEnumerable, IDisposable
This class implements IDisposable, BUT don't have a public Dispose method...
MultiRecordEngine eng = null;
eng.Dispose(); // <---- Results in compilation error
Inspecting this class code on GitHub I can see the method implemented explicitly here, line 913:
void IDisposable.Dispose()
{
    Close();
    GC.SuppressFinalize(this);
}
So... Why cannot I invoke the method? Is this intended, and if so, is it a good practice, and in what circumstances?