private void ReleaseObjectRef() { _ObjectRefCounter--; if (_ObjectRefCounter == 0) { _ObjectRef.Dispose(); _ObjectRef = null; } }
protected void DisposeDotNetObjectRef <T>(DotNetObjectRef <T> value) where T : class { if (value != null) { lock (CreateDotNetObjectRefSyncObj) { JSRuntime.SetCurrentJSRuntime(Js); value.Dispose(); } } }
public void NotifiesAssociatedJsRuntimeOfDisposal() { // Arrange var objRef = new DotNetObjectRef(new object()); var jsRuntime = new TestJsRuntime(); objRef.EnsureAttachedToJsRuntime(jsRuntime); // Act objRef.Dispose(); // Assert Assert.Equal(new[] { objRef }, jsRuntime.UntrackedRefs); }
protected override async ValueTask DisposeAsync(bool disposing) { if (disposing && Rendered) { await JSModule.SafeDestroy(ParentChart.ElementRef, ParentChart.ElementId); await JSModule.SafeDisposeAsync(); if (DotNetObjectRef != null) { DotNetObjectRef.Dispose(); DotNetObjectRef = null; } } await base.DisposeAsync(disposing); }
public void Dispose() { thisRef.Dispose(); }
public void Dispose() { ambientLightSensorRef.Dispose(); }