/// <summary> /// Try to delete underlying native object if nobody uses it (Refs==0) /// </summary> void DeleteNativeObject() { if (!IsDeleted && AllowNativeDelete) { LogSharp.Trace($"{GetType().Name}: DeleteNativeObject"); TryDeleteRefCounted(handle); } }
/// <summary> /// Called by RefCounted::~RefCounted - we don't need to check Refs here - just mark it as deleted and remove from cache /// </summary> internal void HandleNativeDelete() { LogSharp.Trace($"{GetType().Name}: HandleNativeDelete"); Dispose(true); GC.SuppressFinalize(this); }