This commit is contained in:
erik 2025-06-09 02:03:11 +02:00
parent 01151e679b
commit 57b2f0400e
265 changed files with 22828 additions and 6 deletions

View file

@ -0,0 +1,32 @@
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
namespace Decal.Adapter;
public class GenericDisposableWrapper<T> : DisposableByRefObject where T : class
{
private T myObj;
[CLSCompliant(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public T Underlying => myObj;
[CLSCompliant(false)]
protected T Wrapped => myObj;
internal GenericDisposableWrapper(T obj)
{
myObj = obj;
}
protected override void Dispose(bool userCalled)
{
EnforceDisposedOnce();
base.Dispose(userCalled);
if (myObj != null)
{
Marshal.ReleaseComObject(myObj);
}
}
}