| File: PersistentState\RestoringComponentStateSubscription.cs | Web Access |
| Project: src\aspnetcore\src\Components\Components\src\Microsoft.AspNetCore.Components.csproj (Microsoft.AspNetCore.Components) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.AspNetCore.Components; /// <summary> /// Represents a subscription to component state restoration events. Dispose to unsubscribe. /// </summary> public readonly struct RestoringComponentStateSubscription : IDisposable { private readonly List<RestoreComponentStateRegistration> _registeredRestoringCallbacks; private readonly RestoreComponentStateRegistration? _registration; internal RestoringComponentStateSubscription( List<RestoreComponentStateRegistration> registeredRestoringCallbacks, RestoreComponentStateRegistration registration) { _registeredRestoringCallbacks = registeredRestoringCallbacks; _registration = registration; } /// <summary> /// Unsubscribes from state restoration events. /// </summary> public void Dispose() { if (_registration.HasValue) { _registeredRestoringCallbacks?.Remove(_registration.Value); } } }