Aracılığıyla paylaş


ProvideObjectAttribute Sınıf

Tanım

VSPackage'ın arabirimden oluşturulabilecek bir nesne sağladığını Visual Studio'ya ILocalRegistrybildirir. Bu sınıf devralınamaz.

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
Devralma
ProvideObjectAttribute
Öznitelikler

Örnekler

Sınıfının uygulamalarını ProvideObjectAttribute yönetilen örneklerde bulabilirsiniz. Bunun standart konumu ve otomatik kayıt için kullanılan diğer tüm öznitelikler, örnekte kullanılan dile bağlı olarak sınıfın Microsoft.VisualStudio.Package VsPkg.cs, VsPkg.vb veya VsPkg.cpp'de uygulanmasına bitişiktir.

Açıklamalar

Ne zaman aranacak?

ProvideObjectAttribute arabiriminden oluşturulabilecek bir nesne sağlıyorsa türetilmiş sınıfınıza Microsoft.VisualStudio.Packageözniteliğini ILocalRegistryuygulayın.

Temel Kullanım

sınıfı Visual Studio'ya ProvideObjectAttribute arabiriminden oluşturulabilecek bir nesne sağladığını ILocalRegistrybildirir. Nesneleri kayıt defterinin HKEY_CLASSES_ROOT\CLSID bölümünde genel olarak kaydetmek yerine her zaman bu özniteliği kullanın. ProvideObjectAttributetüretilmiş bir Microsoft.VisualStudio.Packagesınıfı veya uygulayan IVsPackagebir sınıfı değiştirmek için kullanın.

Bu öznitelik sınıfı yalnızca regpkg.exe gibi dış kayıt araçları için veri sağlamak için kullanılır. VSPackage'ın çalışma zamanı davranışı üzerinde herhangi bir etkisi yoktur. Daha fazla bilgi için bkz. VSPackage'ları Kaydetme.

Not

C# herhangi bir öznitelik sınıfının adına otomatik olarak "Öznitelik" sözcüğünü ekler. C# kodunda bu özniteliği olarak ProvideObjectadlandırın.

Kayıt Defteri Girdileri

  • Aşağıdaki kayıt defteri girdileri sınıfı tarafından ProvideObjectAttribute oluşturulur:

  • <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

Oluşturucular

ProvideObjectAttribute(Type)

Bu oluşturucu, verilen nesne türüyle yeni ProvideObjectAttribute bir nesne oluşturur.

Özellikler

ObjectType

ObjectType özelliği oluşturucuda ayarlanan nesne türünü döndürür.

RegisterUsing

Codebase girdisini veya kayıt defterinde Derleme girdisini belirtme arasında seçim yapın. Bu, kayıt sırasında geçersiz kılınabilir

TypeId

RegistrationAttribute türetilmiş sınıflarının System.ComponentModel.TypeDescriptor.GetAttributes(...) ile çalışmasına izin vermek için TypeID özelliğini geçersiz kılın. Bu özellikten türetilen bir özniteliğin, yalnızca bir sınıfa uygulanabilecek örnekler üzerinde daha iyi bir denetime ihtiyacı varsa bu özelliği geçersiz kılması gerekir.

(Devralındığı yer: RegistrationAttribute)

Yöntemler

GetPackageRegKeyPath(Guid)

VSPackage'ın kayıt defteri yolunu (uygulamanın kayıt defteri köküne göre) alır.

(Devralındığı yer: RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

regpkg.exe gibi bir dış kayıt aracı tarafından çağrıldığında VSPackage hakkında kayıt bilgileri sağlar. Daha fazla bilgi için bkz. VSPackage'ları Kaydetme.

Unregister(RegistrationAttribute+RegistrationContext)

Bu özniteliğin kaydını kaldırıyor.

Şunlara uygulanır