次の方法で共有


ProvideObjectAttribute クラス

定義

VSPackage がインターフェイスから作成できるオブジェクトを提供することを Visual Studio に 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 マネージド サンプルで確認できます。 この属性と自動登録に使用されるその他すべての属性の Microsoft.VisualStudio.Package 標準の場所は、サンプルで使用される言語に応じて、VsPkg.cs、VsPkg.vb、またはVsPkg.cppの クラスの実装に隣接しています。

注釈

呼び出すタイミング

ProvideObjectAttributeインターフェイスから作成できるオブジェクトを提供する場合は、 属性Microsoft.VisualStudio.Packageを派生クラスにILocalRegistry適用します。

基本的な使用方法

クラスは 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。コードベース

コンストラクター

ProvideObjectAttribute(Type)

このコンストラクターは、指定されたオブジェクト型を持つ新しい ProvideObjectAttribute オブジェクトを作成します。

プロパティ

ObjectType

ObjectType プロパティは、コンストラクターで設定されたオブジェクト型を返します。

RegisterUsing

レジストリで Codebase エントリまたは Assembly エントリを指定するかを選択します。 これは登録時にオーバーライドできます

TypeId

RegistrationAttribute 派生クラスが System.ComponentModel.TypeDescriptor.GetAttributes(...) と連携できるように、TypeID プロパティをオーバーライドします。このプロパティから派生した属性は、クラスに適用できるインスタンスをより適切に制御する必要がある場合にのみ、このプロパティをオーバーライドする必要があります。

(継承元 RegistrationAttribute)

メソッド

GetPackageRegKeyPath(Guid)

VSPackage のレジストリ パス (アプリケーションのレジストリ ルートに対する相対パス) を取得します。

(継承元 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

regpkg.exe などの外部登録ツールによって呼び出されたときに VSPackage に関する登録情報を提供します。 詳細については、「VSPackage の登録」を参照してください。

Unregister(RegistrationAttribute+RegistrationContext)

この属性の登録を解除します。

適用対象