using System; namespace DisposalTests { public class MyType : IDisposable { public void Dispose() { } } public class Class1 : IDisposable { public void DisposesParameter(IDisposable p1, IDisposable p2) { p1.Dispose(); } public void CapturesDisposable(MyType p1, MyType p2) { field1 = p1; field2 = p2; } public void DisposesSelf() { Dispose(); } MyType field1, field2; public void Dispose() { field1.Dispose(); } public static void Dispose(IDisposable d) { d.Dispose(); } } }