ProvideProfileAttribute 构造函数
初始化 ProvideProfileAttribute 的新实例。
命名空间: Microsoft.VisualStudio.Shell
程序集: Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)
语法
声明
Public Sub New ( _
objectType As Type, _
categoryName As String, _
objectName As String, _
categoryResourceID As Short, _
objectNameResourceID As Short, _
isToolsOptionPage As Boolean _
)
public ProvideProfileAttribute(
Type objectType,
string categoryName,
string objectName,
short categoryResourceID,
short objectNameResourceID,
bool isToolsOptionPage
)
参数
- objectType
类型:System.Type
实现 Visual Studio 设置的类的 Type 支持。
- categoryName
类型:System.String
Visual Studio 设置类别的规范,非本地化名称。
- objectName
类型:System.String
用于的规范,非本地化名称标识实现 Visual Studio 设置类别的对象。
- categoryResourceID
类型:System.Int16
Visual Studio 设置类别的名称的本地化资源 ID。
- objectNameResourceID
类型:System.Int16
用于的名称的本地化资源 ID 标识实现 Visual Studio 设置类别的对象。
- isToolsOptionPage
类型:System.Boolean
此参数未实现。
备注
ProvideProfileAttribute 构造函数使用从 objectType 获取的 GUID 唯一标识自定义下落点的 Visual Studio 设置类别。
如果 isToolsOptionPage 是 true,还必须将ProvideOptionPageAttribute 于 VSPackage。
自定义 Points 在包含窗体 <CategoryName>_<ObjectName>的规范名称的注册表项中创建。
注册表项位于 \Software\Microsoft\VisualStudio HKLM \<Version>\UserSettings 下 <Version> 是 Visual Studio的版本,如 8.0。
在 <CategoryName>_<ObjectName>下的注册表项的形式为:
<CategoryName>_<ObjectName>
<CategoryName>_<ObjectName>\ @=#<ObjectNameResourceID>
<CategoryName>_<ObjectName>\Package =<Package>
<CategoryName>_<ObjectName>\Category =<ObjectTypeGuid>
<CategoryName>_<ObjectName>\AlternateParent =<CategoryName>
备注
上面的最后一项 (<CategoryName>_<ObjectName>\AlternateParent) 后,仅当 isToolsOptionPage 是 true。
示例
下面的示例演示提供 Visual Studio 设置,其中两类注册 (DesignerOptionsPage) 提供 工具选项 页的支持。 包和类别 GUID 由通过反射的属性中获得的。
自定义为名为 “DesignerOptionsPage”页下落点是:
MyDesigner_OptionPage
MyDesigner_OptionPage \ @=#1003
MyDesigner_OptionPage”}
MyDesigner_OptionPage \Category={"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY”}
MyDesigner_OptionPage \AlternateParent =MyDesigner
备注
上面的最后一项, (UserSettings \MyDesigner_OptionPage\AlternateParent),存在,因为 isToolsOptionPage 是 true。
自定义为名为 “PersistCurrentDesign”页下落点是:
MyDesigner_CurrentDesign
MyDesigner_CurrentDesign\ @=#1005AMP_GT
MyDesigner_CurrentDesign”}
MyDesigner_CurrentDesign\Category={"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ”}AMP_GT
备注
非 (MyDesigner_ObjectNameAMP_GT\AlternateParent),因为 isToolsOptionPage 是 false。
下面的代码示例说明 DesignerOptionsPage 使用 ProvideProfileAttribute,如何注册。
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 PersisteDesignerState: IProfileManager {
//Implementation here
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
请参见
参考
Microsoft.VisualStudio.Shell 命名空间