return ret;
}
- /// This will not be public opened.
+ /// <summary>
+ /// override it to clean-up your own resources.
+ /// </summary>
+ /// <param name="type"></param>
[EditorBrowsable(EditorBrowsableState.Never)]
- protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
+ protected override void Dispose(DisposeTypes type)
{
- if (detectedEventHandler == null && DetectedSignal().Empty() == false)
+ if (disposed)
+ {
+ return;
+ }
+
+ if (type == DisposeTypes.Explicit)
+ {
+ //Called by User
+ //Release your own managed resources here.
+ //You should release all of your own disposable objects here.
+ }
+
+ //Release your own unmanaged resources here.
+ //You should not access any managed member here except static instance.
+ //because the execution order of Finalizes is non-deterministic.
+
+ if (HasBody())
{
- DetectedSignal().Disconnect(detectedCallback);
+ if (detectedCallback != null)
+ {
+ using LongPressGestureDetectedSignal signal = new LongPressGestureDetectedSignal(Interop.LongPressGestureDetector.DetectedSignal(GetBaseHandleCPtrHandleRef), false);
+ signal?.Disconnect(detectedCallback);
+ detectedCallback = null;
+ }
}
+ base.Dispose(type);
+ }
+
+ /// This will not be public opened.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
+ {
Interop.LongPressGestureDetector.DeleteLongPressGestureDetector(swigCPtr);
}