- using System;
- namespace WpfTest1.ComAgent
- {
- public class AutoReleaseObject<T> where T : IDisposable
- {
- public T reference { get; set; }
- public AutoReleaseObject(T reference) => this.reference = reference;
- ~AutoReleaseObject() => reference.Dispose();
- public static implicit operator T(AutoReleaseObject<T> obj) => obj.reference;
- public static implicit operator AutoReleaseObject<T>(T obj) => new AutoReleaseObject<T>(obj);
- }
- }
|