ProvideObjectAttribute 类

定义

通知 Visual Studio VSPackage 提供可从 接口创建 ILocalRegistry的对象。 此类不能被继承。

public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideObjectAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideObjectAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideObjectAttribute
Inherits RegistrationAttribute
继承
ProvideObjectAttribute
属性

示例

可以在托管示例中找到 类的实现 ProvideObjectAttribute 。 此属性和用于自动注册的所有其他属性的标准位置与 VsPkg.cs、VsPkg.vb 或 VsPkg.cpp 中的 类的实现 Microsoft.VisualStudio.Package 相邻,具体取决于示例中使用的语言。

注解

何时调用

ProvideObjectAttribute如果 派生类提供可从 接口创建ILocalRegistry的对象,则将特性Microsoft.VisualStudio.Package应用于该类。

基本用法

ProvideObjectAttribute 通知 Visual Studio 它提供可从 接口创建的 ILocalRegistry对象。 始终使用此属性,而不是在注册表的 HKEY_CLASSES_ROOT\CLSID 节下全局注册对象。 ProvideObjectAttribute使用 修改 Microsoft.VisualStudio.Package派生类或实现 的IVsPackage类。

此属性类仅用于为外部注册工具(如 regpkg.exe)提供数据。 它对 VSPackage 的运行时行为没有任何影响。 有关详细信息,请参阅注册 VSPackage。

注意

C# 自动将单词“Attribute”追加到任何属性类的名称。 在 C# 代码中,将此属性称为 ProvideObject

注册表项

  • 以下注册表项由 ProvideObjectAttribute 类创建:

  • <VSROOT>\CLSID\{ObjectGuid}

  • <VSROOT>\CLSID\{ObjectGuid}\@=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\InprocServer32=mscoree.dll

  • <VSROOT>\CLSID\{ObjectGuid}\Class=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\Assembly=ObjectType.Assembly.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\ThreadingModel=Both

  • <VSROOT>\CLSID\{PackageGuid}\CodeBase=context。CodeBase

构造函数

ProvideObjectAttribute(Type)

此构造函数使用给定的对象类型创建一个新的 ProvideObjectAttribute 对象。

属性

ObjectType

ObjectType 属性返回构造函数中设置的对象类型。

RegisterUsing

在注册表中指定 Codebase 条目或程序集项之间进行选择。 这可以在注册期间重写

TypeId

重写 TypeID 属性,以便让 RegistrationAttribute 派生类与 System.ComponentModel.TypeDescriptor.GetAttributes 一起使用 (...) 。仅当派生自此属性的属性需要对可应用于类的实例使用更好的控件时,它才必须重写此属性。

(继承自 RegistrationAttribute)

方法

GetPackageRegKeyPath(Guid)

获取相对于 VSPackage 的应用程序) 注册表根目录 (注册表路径。

(继承自 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

当外部注册工具(如 regpkg.exe)调用时,提供有关 VSPackage 的注册信息。 有关详细信息,请参阅注册 VSPackage。

Unregister(RegistrationAttribute+RegistrationContext)

取消注册此属性。

适用于