HotReloadHelper<T> Class

Definition

Used to help VisualStudio.Extensibility feature areas implement hot reload, aiming to make it easier to load and unload extension provided metadata at runtime.

public abstract class HotReloadHelper<T> : Microsoft.VisualStudio.Shell.Internal.AsyncDisposableObject, IDisposable, Microsoft.Internal.VisualStudio.Extensibility.Framework.IExtensionMetadataObserver where T : HotReloadHelperInitializationArgs
type HotReloadHelper<'T (requires 'T :> HotReloadHelperInitializationArgs)> = class
    inherit AsyncDisposableObject
    interface IExtensionMetadataObserver
    interface IDisposable
Public MustInherit Class HotReloadHelper(Of T)
Inherits AsyncDisposableObject
Implements IDisposable, IExtensionMetadataObserver

Type Parameters

T

The type of HotReloadHelperInitializationArgs needed to initialize this helper.

Inheritance
HotReloadHelper<T>
Implements

Constructors

HotReloadHelper<T>(HotReloadHelperInitializationArgs)

Create an instance of HotReloadHelper<T>.

Properties

DependentSections

Gets the set of extension metadata sections that need to be processed before the sections that this class initialized.

DiagnosticsConfiguration

Gets a logger for diagnostics.

DisposeToken

Gets a token that signals cancellation when this object is disposed.

(Inherited from AsyncDisposableObject)
IsDisposed

Gets a value indicating whether the object has been disposed once, protects against double disposal.

(Inherited from AsyncDisposableObject)
IsDisposing

Gets a value indicating whether the object is in the process of being disposed.

(Inherited from AsyncDisposableObject)
JoinableTaskFactory

Gets a JoinableTaskFactory that can be used to manage threading.

SectionMetadataManagers

Gets the set of ExtensionSectionMetadataManager instances that are used to deserialize extension metadata. The deserializers will be queried in the order that they appear in the collection when processing metadata changes.

ServiceBroker

Gets an IServiceBroker that can be used to acquire brokered services.

TraceSource

Gets a TraceSource that can be used for logging.

Methods

CreateAsync<THelper,TArgs>(TArgs, Func<TArgs,THelper>, CancellationToken)

Creates an instance of THelper and initializes it with the provided TArgs.

DisposeAsync() (Inherited from AsyncDisposableObject)
DisposeCoreAsync()

The core implementation of DisposeAsync.

InitializeAsync(CancellationToken)

Initialize the HotReloadHelper<T>.

InitializeCoreAsync(CancellationToken)

The core implementation of InitializeAsync(CancellationToken).

OnBeforeMetadataUpdatesProcessedAsync(ExtensionMetadata, CancellationToken)

A callback invoked by OnMetadataUpdatedAsync(ExtensionMetadata, CancellationToken) before the extension metadata has been deserialized and processed.

OnCompletedAsync(CancellationToken)

Notifies the observer when no further changes are expected.

OnMetadataUpdatedAsync(ExtensionMetadata, CancellationToken)

Notifies the observer of metadata changes in the sections they were subscribed for.

OnMetadataUpdatedCoreAsync(ExtensionMetadata, CancellationToken)

A callback invoked by OnMetadataUpdatedAsync(ExtensionMetadata, CancellationToken) after the extension metadata has been deserialized and processed.

SubscribeToExtensionChangesAsync(CancellationToken)

Subscribes for extension metadata changes.

ThrowIfDisposed()

Throws an ObjectDisposedException if this object has been disposed.

(Inherited from AsyncDisposableObject)

Events

Disposing

Raised when the event is being disposed, while it is still accessible.

(Inherited from AsyncDisposableObject)

Explicit Interface Implementations

IDisposable.Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Applies to