Skip to main content

Class DisposeSafety.ScopedFinalizer

Utility class for managing finalizing stuff.

Assembly: Dalamud.dll
Declaration
public class DisposeSafety.ScopedFinalizer : DisposeSafety.IDisposeCallback, IDisposable, IAsyncDisposable

Implements:
Dalamud.Utility.DisposeSafety.IDisposeCallback, System.IDisposable, System.IAsyncDisposable

Methods

EnsureCapacity(int)

Declaration
public void EnsureCapacity(int capacity)
Parameters
TypeName
System.Int32capacity

Add<T>(T?)

Declaration
public T? Add<T>(T? d) where T : IDisposable
Returns

<T>: The parameter.

Parameters
TypeName
<T>d
Type Parameters
  • T

Add(Action?)

Declaration
public Action? Add(Action? d)
Returns

System.Action

Parameters
TypeName
System.Actiond

Add(Func<Task>?)

Declaration
public Func<Task>? Add(Func<Task>? d)
Returns

System.Func<System.Threading.Tasks.Task>

Parameters
TypeName
System.Func<System.Threading.Tasks.Task>d

Add(GCHandle)

Declaration
public GCHandle Add(GCHandle d)
Returns

System.Runtime.InteropServices.GCHandle

Parameters
TypeName
System.Runtime.InteropServices.GCHandled

AddRange(IEnumerable<IDisposable?>)

Queue all the given System.IDisposable to be disposed later.

Declaration
public void AddRange(IEnumerable<IDisposable?> ds)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<System.IDisposable>dsDisposables.

AddRange(IEnumerable<Action?>)

Queue all the given System.IDisposable to be run later.

Declaration
public void AddRange(IEnumerable<Action?> ds)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<System.Action>dsActions.

AddRange(IEnumerable<Func<Task>?>)

Queue all the given System.Func%601 returning System.Threading.Tasks.Task to be run later.

Declaration
public void AddRange(IEnumerable<Func<Task>?> ds)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<System.Func<System.Threading.Tasks.Task>>dsFunc{Task}s.

AddRange(IEnumerable<GCHandle>)

Queue all the given System.Runtime.InteropServices.GCHandle to be disposed later.

Declaration
public void AddRange(IEnumerable<GCHandle> ds)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<System.Runtime.InteropServices.GCHandle>dsGCHandles.

Cancel()

Cancel all pending disposals.

Declaration
public void Cancel()

WithEnsureCapacity(int)

Declaration
public DisposeSafety.ScopedFinalizer WithEnsureCapacity(int capacity)
Returns

Dalamud.Utility.DisposeSafety.ScopedFinalizer: This for method chaining.

Parameters
TypeName
System.Int32capacity

With(IDisposable)

Declaration
public DisposeSafety.ScopedFinalizer With(IDisposable d)
Returns

Dalamud.Utility.DisposeSafety.ScopedFinalizer: The parameter.

Parameters
TypeName
System.IDisposabled

With(Action)

Declaration
public DisposeSafety.ScopedFinalizer With(Action d)
Returns

Dalamud.Utility.DisposeSafety.ScopedFinalizer: This for method chaining.

Parameters
TypeName
System.Actiond

With(Func<Task>)

Declaration
public DisposeSafety.ScopedFinalizer With(Func<Task> d)
Returns

Dalamud.Utility.DisposeSafety.ScopedFinalizer: This for method chaining.

Parameters
TypeName
System.Func<System.Threading.Tasks.Task>d

With(GCHandle)

Declaration
public DisposeSafety.ScopedFinalizer With(GCHandle d)
Returns

Dalamud.Utility.DisposeSafety.ScopedFinalizer: This for method chaining.

Parameters
TypeName
System.Runtime.InteropServices.GCHandled

Dispose()

Declaration
public void Dispose()

DisposeAsync()

Declaration
public ValueTask DisposeAsync()
Returns

System.Threading.Tasks.ValueTask

Events

BeforeDispose

Event to be fired before object dispose. First parameter is the object iself.

Declaration
public event Action<DisposeSafety.IDisposeCallback>? BeforeDispose
Event Type

System.Action<Dalamud.Utility.DisposeSafety.IDisposeCallback>

AfterDispose

Event to be fired after object dispose. First parameter is the object iself.

Declaration
public event Action<DisposeSafety.IDisposeCallback, Exception?>? AfterDispose
Event Type

System.Action<Dalamud.Utility.DisposeSafety.IDisposeCallback,System.Exception>

Implements