[x] I have verified that I am running the latest version of DisposableFixer: YOUR_VERSION
[x] I have searched open and closed issues to ensure it has not already been reported
Description
When using a CodeFix that creates/uses a field/property to dispose in Dispose()-method, an IDisposable is added to class, regardless there is already an IDisposable at the base class/interface,
Source Code
This:
using System;
using System.IO;
namespace MyNs {
public interface IDoSomething : IDisposable {
}
internal class Dummy : IDoSomething {
private MemoryStream Stream = new MemoryStream();
public void Dispose() { }
}
}
Becomes
using System;
using System.IO;
namespace MyNs {
public interface IDoSomething : IDisposable {
}
internal class Dummy : IDisposable, IDoSomething {
private MemoryStream Stream = new MemoryStream();
public void Dispose() {
Stream?.Dispose();
}
}
}
But is should be:
using System;
using System.IO;
namespace MyNs {
public interface IDoSomething : IDisposable {
}
internal class Dummy : IDoSomething {
private MemoryStream Stream = new MemoryStream();
public void Dispose() {
Stream?.Dispose();
}
}
}
Prerequisites
Description
When using a CodeFix that creates/uses a field/property to dispose in Dispose()-method, an IDisposable is added to class, regardless there is already an IDisposable at the base class/interface,
Source Code
This:
Becomes
But is should be:
Screenshot