Skip to main content
Version: 15.x (API 15) [Current]

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.Func1returningSystem.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()
Remarks​

Use this after successful initialization of multiple disposables.

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​