IVsPackageExtensionProvider Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides "pull"-style extension points for packages.
public interface class IVsPackageExtensionProvider
public interface class IVsPackageExtensionProvider
__interface IVsPackageExtensionProvider
public interface IVsPackageExtensionProvider
[System.Runtime.InteropServices.Guid("1FC6AF83-7F43-467E-B2C4-28E2B1B376AB")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsPackageExtensionProvider
type IVsPackageExtensionProvider = interface
[<System.Runtime.InteropServices.Guid("1FC6AF83-7F43-467E-B2C4-28E2B1B376AB")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsPackageExtensionProvider = interface
Public Interface IVsPackageExtensionProvider
- Derived
- Attributes
Remarks
This interface is an alternative to the more usual “factory” model where a package, in its SetSite
method, registers instances of factories with a central registrar. That model requires that the central registrar be created even if that feature is not yet desired. That is a "push"-style, where the package pushes its factory implementation to the environment.
With IVsPackageExtensionProvider
, instances of the extension point are "pulled" on demand from packages as needed. This allows the package to delay creation of extension point instances until they are actually needed.
It is possible to re-implement traditional project, editor, and UI factories in terms of IVsPackageExtensionProvider
.
Methods
CreateExtensionInstance(Guid, Guid) |
Creates an instance of the requested extension. |