Partager via


ExtensionSectionMetadataModelManager<TSectionMetadata,TModel> Class

Definition

Represents the base class for managing models created from registrations provided by extensions.

public abstract class ExtensionSectionMetadataModelManager<TSectionMetadata,TModel> : Microsoft.Internal.VisualStudio.Extensibility.Framework.ExtensionSectionMetadataManager, Microsoft.Internal.VisualStudio.Extensibility.Framework.IExtensibilityModelProvider<TModel> where TSectionMetadata : class, IExtensionSectionMetadata where TModel : class, IExtensibilityModel
type ExtensionSectionMetadataModelManager<'SectionMetadata, 'Model (requires 'SectionMetadata : null and 'SectionMetadata :> IExtensionSectionMetadata and 'Model : null and 'Model :> IExtensibilityModel)> = class
    inherit ExtensionSectionMetadataManager
    interface IExtensibilityModelProvider<'Model (requires 'Model : null and 'Model :> IExtensibilityModel)>
Public MustInherit Class ExtensionSectionMetadataModelManager(Of TSectionMetadata, TModel)
Inherits ExtensionSectionMetadataManager
Implements IExtensibilityModelProvider(Of TModel)

Type Parameters

TSectionMetadata

The type that the extension metadata can be deserialized into.

TModel

The type that can be created based on the registrations.

Inheritance
ExtensionSectionMetadataModelManager<TSectionMetadata,TModel>
Implements

Constructors

ExtensionSectionMetadataModelManager<TSectionMetadata,TModel>(String)

Creates an instance of a ExtensionSectionMetadataModelManager<TSectionMetadata,TModel>.

Properties

DiagnosticsManager

Gets or sets the IExtensibilityDiagnosticManager that is used to log diagnostics.

(Inherited from ExtensionSectionMetadataManager)
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)
Models

Gets the models owned by the provider.

SectionName

Gets the name of the extension metadata section that this class deserializes from.

(Inherited from ExtensionSectionMetadataManager)

Methods

AddModel(TModel)

Add a model to the collection.

ConfigureDiagnosticsAsync(ExtensibilityDiagnosticsLoggerConfiguration, CancellationToken)

Invoked when a deserializer is initialized to give it a chance to configure its diagnostics manager.

(Inherited from ExtensionSectionMetadataManager)
CreateModelAsync(TSectionMetadata, JToken, CancellationToken)

Create models based on registrations provided by extensions.

DiscoverRegistrationsAsync(IReadOnlyCollection<ExtensionMetadataHeader>, TraceSource, CancellationToken)

Deserializes newly discovered extension metadata into concrete types.

(Inherited from ExtensionSectionMetadataManager)
DisposeAsync() (Inherited from AsyncDisposableObject)
DisposeCoreAsync()

Standard virtual overload for IAsyncDisposable pattern.

OnExtensionsUnloadedAsync(IReadOnlyCollection<ExtensionIdentificationToken>, CancellationToken)

Invoked when extensions that had provided metadata to this deserializer are unloaded.

OnModelsRemovedAsync(IReadOnlyCollection<TModel>, CancellationToken)

A callback that is invoked when models are to be unloaded.

ThrowIfDisposed()

Throws an ObjectDisposedException if this object has been disposed.

(Inherited from AsyncDisposableObject)
TryDeserializeAsync(JToken, ExtensionIdentificationToken, CancellationToken)

Attempt to deserialize the registration from the given json blob.

(Inherited from ExtensionSectionMetadataManager)
TryReportModelDiagnosticsAsync(TModel, CancellationToken)

Attempts to report diagnostics for the newly created model.

Events

Disposing

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

(Inherited from AsyncDisposableObject)

Applies to