BADF00D / DisposableFixer

This is a Visual Studio Extension and NuGet package that should identify and fix problems as memleaks while using IDisposables.
Other
35 stars 7 forks source link

Problems when Factory delivers an IDisposable #10

Closed dscopra closed 7 years ago

dscopra commented 7 years ago

If a Factory method returns an IDisposable instead if a class that implements IDisposable, the code is not marked.

This code works:

using System.IO;
namespace DisFixerTest {
    public class ClassThatUsesFactoyInCtor {
        public ClassThatUsesFactoyInCtor() {
            var factory = new Factory();
            var mem = factory.Create();
        }
    }
    class Factory {
        public MemoryStream Create() {
            return new MemoryStream();
        }
    }
}

But this does not work:

using System.IO;
namespace DisFixerTest {
    public class ClassThatUsesFactoyInCtor {
        public ClassThatUsesFactoyInCtor() {
            var factory = new Factory();
            var mem = factory.Create();
        }
    }
    class Factory {
        public IDisposable Create() {
            return new MemoryStream();
        }
    }
}