ProvideOptionPageAttribute 类
将此特性应用于单个对象允许用户通过自定义 工具选项 页配置 Vspackage。
继承层次结构
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
Microsoft.VisualStudio.Shell.ProvideOptionPageAttribute
命名空间: Microsoft.VisualStudio.Shell
程序集: Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)
语法
声明
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideOptionPageAttribute _
Inherits ProvideOptionDialogPageAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideOptionPageAttribute : ProvideOptionDialogPageAttribute
ProvideOptionPageAttribute 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean) | 初始化指示的 ProvideOptionPageAttribute 新实例特定类实现配置为根据 工具选项 页的 VSPackage 支持的用户。 | |
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, Int32) | ||
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, String) | ||
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, array<String[]) |
页首
属性
名称 | 说明 | |
---|---|---|
CategoryName | 获取 工具选项 页的类别的规范非本地化名称。 | |
CategoryResourceID | 获取 工具选项 页的类别资源 ID。 | |
Keywords | ||
NoShowAllView | 获取或设置合成 工具选项 页是否显示。 | |
PageName | 获取 工具选项 页的规范非本地化名称。 | |
PageNameResourceId | 获取页的名称资源 ID。 (继承自 ProvideOptionDialogPageAttribute。) | |
PageType | 获取页的类型。 (继承自 ProvideOptionDialogPageAttribute。) | |
ProfileMigrationType | 设置配置文件迁移类型。 | |
ProvidesLocalizedCategoryName | ||
SupportsAutomation | 获取 工具选项 页面实现是否支持自动化。 | |
SupportsProfiles | 获取或设置 工具选项 页面实现是否使用 Visual Studio 设置机制保存其状态。 | |
TypeId | 获取 ProvideOptionPageAttribute当前实例。 (重写 RegistrationAttribute.TypeId。) |
页首
方法
名称 | 说明 | |
---|---|---|
Equals | 基础结构。返回一个值,该值指示此实例是否与指定的对象相等。 (继承自 Attribute。) | |
GetHashCode | 返回此实例的哈希代码。 (继承自 Attribute。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
IsDefaultAttribute | 当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。) | |
Match | 当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。) | |
Register | 注册 工具选项 页。 (重写 RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)。) | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) | |
Unregister | 从注册表中移除 工具选项 页键。 (重写 RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)。) |
页首
显式接口实现
名称 | 说明 | |
---|---|---|
_Attribute.GetIDsOfNames | 将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。) | |
_Attribute.GetTypeInfo | 检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。) | |
_Attribute.GetTypeInfoCount | 检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。) | |
_Attribute.Invoke | 提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。) |
页首
备注
实现者说明
应用 ProvideOptionPageAttribute 于实现 VSPackage 的类。此属性启用注册特定的独立对象提供 VSPackage 为用户提供配置访问通过自定义 工具选项 页。
属性上下文
适用对象 |
使用 Visual Studio SDK 代码, Vspackage 通过自定义 工具选项 页允许配置实现通过托管包结构的 DialogPage 或。 |
可重复 |
是 |
必需的特性 |
|
无效的特性 |
无 |
调用方的说明
此属性用于注册目的仅使用,并且不影响代码的运行时行为。
ProvideOptionPageAttribute 注册特定类实现 IProfileManager 的或 DialogPage 为了提供特定 VSPackage 来保持的部分或全部 VSPackage 的状态支持通过 Visual Studio 设置结构。状态信息由实现的类仍然存在引用 Visual Studio 设置类别,其在注册表中定义的项称为自定义下落点。
说明 |
---|
当托管包结构基于自定义 工具选项 页加载时, IDE 实例化 ProvideOptionPageAttribute 注册的对象作为实现它。托管包结构 工具选项 页支持应本身是实现的对象而不是 VSPackage。 |
有关创建并应用 ProvideOptionPageAttribute实例的更多信息,请参见该下面的示例和 ProvideOptionPageAttribute。
示例
在下面的示例中, ProvideOptionPageAttribute 实例应用于注册的一个 VSPackage 实现类 DesignerOptionsPage,从 DialogPage派生,如提供 VSPackage。 工具选项 页。
从 DialogPage 派生的类提供 Visual Studio 设置功能的默认实现,可以重写。,则,该示例, ProvideProfileAttribute 适用于 VSPackage 实现, IDE 利用此 Visual Studio 设置的支持。有关 Visual Studio 集的更多信息,请参见 用户设置和选项支持。
using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]
[ProvideOptionPage(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1000, 1001, true)]
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
[ProvideProfileAttribute(typeof(PersistCurrentDesign), "MyDesigner","CurrentDesign", 1004, 1005, false)]
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}
[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}
[Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ")]
internal class PersistCurrentDesign: IProfileManager {
//Implementation here
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
请参见
参考
Microsoft.VisualStudio.Shell 命名空间