Share via


ProvideServiceAttributeBase Class

Definition

Declares that a package provides a particular service when applied to a subclass of Package or a class that implements IVsPackage. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

public ref class ProvideServiceAttributeBase : Microsoft::VisualStudio::Shell::RegistrationAttribute
public class ProvideServiceAttributeBase : Microsoft.VisualStudio.Shell.RegistrationAttribute
type ProvideServiceAttributeBase = class
    inherit RegistrationAttribute
Public Class ProvideServiceAttributeBase
Inherits RegistrationAttribute
Inheritance
ProvideServiceAttributeBase
Derived

Remarks

This is a base class for use in defining service attributes for Visual Studio packages.

Constructors

ProvideServiceAttributeBase(Object, String)

Initializes a new instance of the ProvideServiceAttributeBase class.

Properties

IsAsyncQueryable

Deterimines if the service supports being retrieved via the async service provider.

IsCacheable

Indicates to the shell service layer that it may cache the service. This is more of a formality for MPF provided services because MPF itself caches the service so your service creation callback is never called more than once. This will provide a slight performance improvement by eliminating a native -> managed transition on service request. If you have no compelling reason to set this to false, this should be set to true. Future versions may default this to true.

IsFreeThreaded

Deterimines if the service supports being retrieved and used from any thread.

Service

Type of the service.

ServiceName

Name of the service

ServiceType

Gets the service's GUID declared in this attribute.

TypeId

Override the TypeID property in order to let the RegistrationAttribute derived classes to work with System.ComponentModel.TypeDescriptor.GetAttributes(...). An attribute derived from this one will have to override this property only if it needs a better control on the instances that can be applied to a class.

(Inherited from RegistrationAttribute)

Methods

GetPackageRegKeyPath(Guid)

Gets the registry path (relative to the registry root of the application) of the VSPackage.

(Inherited from RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Registers this attribute with the given context.

Unregister(RegistrationAttribute+RegistrationContext)

Unregisters this attribute.

Applies to