DesignSurfaceExtensionAttribute Constructor
Creates a new instance of the DesignSurfaceExtensionAttribute class specifying a given object as providing a VSPackage's implementation of DesignSurfaceExtension.
Namespace: Microsoft.VisualStudio.Shell.Design
Assembly: Microsoft.VisualStudio.Shell.Design (in Microsoft.VisualStudio.Shell.Design.dll)
Syntax
'宣言
Public Sub New ( _
extensionType As Type _
)
'使用
Dim extensionType As Type
Dim instance As New DesignSurfaceExtensionAttribute(extensionType)
public DesignSurfaceExtensionAttribute(
Type extensionType
)
public:
DesignSurfaceExtensionAttribute(
Type^ extensionType
)
public function DesignSurfaceExtensionAttribute(
extensionType : Type
)
Parameters
extensionType
Type: System.TypeThe Type of the object providing an implementation of DesignSurfaceExtension to customize design surfaces.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | extensionType is a null reference (Nothing in Visual Basic). |
ArgumentException | extensionType does not derive from DesignSurfaceExtension. |
Remarks
Whenever the VSPackage makes use of a design surface, an instance of extensionType object will be used to modify that surface's behavior.
The Type used to construct the DesignSurfaceExtensionAttribute must also be registered as an object provided by the VSPackage, with ProvideObjectAttribute and a service, with ProvideServiceAttribute.
Examples
The example below declares that the VSPackage CustomDesigner, provided the class CustomSurfaceExt to customize the design surface it uses.
[ProvideServiceAttribute(typeof(CustomSurfaceExt))]
[ProvideObjectAttribute(typeof(CustomSurfaceExt))]
[DesignSurfaceExtension(typeof(CustomSurfaceExt))]
class CustomDesigner : Package
Permissions
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Concepts
Reference
DesignSurfaceExtensionAttribute Class
DesignSurfaceExtensionAttribute Members
Microsoft.VisualStudio.Shell.Design Namespace