Share via


TypeDescriptor.AddProvider Yöntem

Tanım

Bu tür tanımlayıcısı için sağlayıcı listesine bir tür açıklaması sağlayıcısı ekler.

Aşırı Yüklemeler

AddProvider(TypeDescriptionProvider, Object)

Bileşenin tek bir örneği için tür açıklaması sağlayıcısı ekler.

AddProvider(TypeDescriptionProvider, Type)

Bileşen sınıfı için bir tür açıklaması sağlayıcısı ekler.

AddProvider(TypeDescriptionProvider, Object)

Kaynak:
TypeDescriptor.cs
Kaynak:
TypeDescriptor.cs
Kaynak:
TypeDescriptor.cs

Bileşenin tek bir örneği için tür açıklaması sağlayıcısı ekler.

public:
 static void AddProvider(System::ComponentModel::TypeDescriptionProvider ^ provider, System::Object ^ instance);
public static void AddProvider (System.ComponentModel.TypeDescriptionProvider provider, object instance);
static member AddProvider : System.ComponentModel.TypeDescriptionProvider * obj -> unit
Public Shared Sub AddProvider (provider As TypeDescriptionProvider, instance As Object)

Parametreler

instance
Object

Hedef bileşenin bir örneği.

Özel durumlar

Parametrelerin biri veya her ikisi de şeklindedir null.

Açıklamalar

yöntemi, AddProvider(TypeDescriptionProvider, Object) bir bileşenin tek bir örneği için tür bilgilerini sağlayan bir tür açıklaması sağlayıcısı ekler. Bu yöntemle bir sağlayıcı eklenirse, örnek zaten mevcut olduğundan sağlayıcının CreateInstance yöntemi çağrılmayacak.

Bu yöntem, bileşene sabit başvuru sağlamaz, bu nedenle bileşenin son haline getirmesini engellemez.

Aynı tür veya nesne için birden çok tür açıklaması sağlayıcısı eklemek mümkündür. Bu durum oluşursa, tür bilgilerini sağlayan ilk tür açıklaması sağlayıcısı özel olarak kullanılır. Tür bilgisi sağlayıcıları bir yığında depolandığından, eklenen son sağlayıcı sorgulanan ilk sağlayıcı olacaktır. Bu davranış, ve RemoveProvider yöntemlerinin AddProvider(TypeDescriptionProvider, Object) belirli senaryolar için gereken şekilde tür açıklaması sağlayıcılarını göndermek ve açmak için kullanılmasını sağlar.

Başarılı olursa, bu yöntem parametresinde instance yöntemini çağırırRefresh(Object).

Not

Bu yöntemin iki sürümü farklı kapsamlara sahip sonuçlar üretir. AddProvider Parametre Object alan yöntem, belirtilen bileşenin yalnızca bu tek örneğini etkiler. Buna karşılık, bir Type parametre alan diğer aşırı yükleme, bu tür tarafından açıklanan bileşenin tüm örneklerini etkiler.

AddProviderTransparent(TypeDescriptionProvider, Object) Kısmen güvenilen koddan çağırmanız gerekiyorsa yöntemini kullanın.

Ayrıca bkz.

Şunlara uygulanır

AddProvider(TypeDescriptionProvider, Type)

Kaynak:
TypeDescriptor.cs
Kaynak:
TypeDescriptor.cs
Kaynak:
TypeDescriptor.cs

Bileşen sınıfı için bir tür açıklaması sağlayıcısı ekler.

public:
 static void AddProvider(System::ComponentModel::TypeDescriptionProvider ^ provider, Type ^ type);
public static void AddProvider (System.ComponentModel.TypeDescriptionProvider provider, Type type);
static member AddProvider : System.ComponentModel.TypeDescriptionProvider * Type -> unit
Public Shared Sub AddProvider (provider As TypeDescriptionProvider, type As Type)

Parametreler

type
Type

Type Hedef bileşenin.

Özel durumlar

Parametrelerin biri veya her ikisi de şeklindedir null.

Açıklamalar

yöntemi, AddProvider(TypeDescriptionProvider, Type) belirtilen sınıf, türetilmiş sınıflar ve bu türlerin tüm örnekleri için tür bilgileri sağlayan bir tür açıklaması sağlayıcısı ekler.

Not

type Parametre, arabirim de dahil olmak üzere herhangi bir tür olabilir. Örneğin, tüm bileşenler için özel tür ve örnek bilgileri sağlamak için belirtebilirsiniz typeof(IComponent). Geçiş, typeof(object) sağlayıcıyı çağırarak tüm türler için tür bilgilerini sağlayacaktır.

Bu yöntem herhangi bir nesneye sabit başvuru sağlamaz, bu nedenle nesnelerin sonlandırılmasını engellemez.

Aynı tür veya nesne için birden çok tür açıklaması sağlayıcısı eklemek mümkündür. Bu durum oluşursa, tür bilgilerini sağlayan ilk tür açıklaması sağlayıcısı özel olarak kullanılır. Tür bilgisi sağlayıcıları bir yığında depolandığından, eklenen son sağlayıcı sorgulanan ilk sağlayıcı olacaktır. Bu davranış, ve RemoveProvider yöntemlerinin AddProvider(TypeDescriptionProvider, Type) belirli senaryolar için gereken şekilde tür açıklaması sağlayıcılarını göndermek ve açmak için kullanılmasını sağlar.

Başarılı olursa, bu yöntem parametresinde type yöntemini çağırırRefresh(Type).

Not

Bu yöntemin iki sürümü farklı kapsamlara sahip sonuçlar üretir. AddProvider Parametre Object alan yöntem, belirtilen bileşenin yalnızca bu tek örneğini etkiler. Buna karşılık, bir Type parametre alan diğer aşırı yükleme, bu tür tarafından açıklanan bileşenin tüm örneklerini etkiler.

AddProviderTransparent(TypeDescriptionProvider, Type) Kısmen güvenilen koddan çağırmanız gerekiyorsa yöntemini kullanın.

Ayrıca bkz.

Şunlara uygulanır