ProvideObjectAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 ProvideObject
adlandı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. |