다음을 통해 공유


TypeDescriptor.AddProvider 메서드

정의

이 형식 설명자에 대한 공급자 목록에 형식 설명 공급자를 추가합니다.

오버로드

AddProvider(TypeDescriptionProvider, Object)

단일 구성 요소 인스턴스에 대한 형식 설명 공급자를 추가합니다.

AddProvider(TypeDescriptionProvider, Type)

구성 요소 클래스에 대한 형식 설명 공급자를 추가합니다.

AddProvider(TypeDescriptionProvider, Object)

Source:
TypeDescriptor.cs
Source:
TypeDescriptor.cs
Source:
TypeDescriptor.cs

단일 구성 요소 인스턴스에 대한 형식 설명 공급자를 추가합니다.

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)

매개 변수

provider
TypeDescriptionProvider

추가할 TypeDescriptionProvider입니다.

instance
Object

대상 구성 요소의 인스턴스입니다.

예외

매개 변수 중 하나 또는 둘 다가 null입니다.

설명

메서드는 AddProvider(TypeDescriptionProvider, Object) 구성 요소의 단일 instance 대한 형식 정보를 제공하는 형식 설명 공급자를 추가합니다. 이 메서드에서 공급자를 추가하는 경우 instance 이미 있으므로 공급자의 CreateInstance 메서드가 호출되지 않습니다.

이 메서드는 구성 요소에 대한 하드 참조를 유지하지 않으므로 구성 요소가 종료되는 것을 방지하지 않습니다.

동일한 형식 또는 개체에 대해 여러 형식 설명 공급자를 추가할 수 있습니다. 이 경우 형식 정보를 제공하는 첫 번째 형식 설명 공급자가 단독으로 사용됩니다. 형식 정보 공급자는 스택에 저장되므로 마지막으로 추가된 공급자는 쿼리된 첫 번째 공급자가 됩니다. 이 동작을 AddProvider(TypeDescriptionProvider, Object) 사용하면 특정 시나리오에 필요한 대로 및 RemoveProvider 메서드를 사용하여 형식 설명 공급자를 푸시하고 팝할 수 있습니다.

성공하면 이 메서드는 매개 변수에서 Refresh(Object) 메서드를 호출합니다 instance .

참고

이 메서드의 두 버전은 서로 다른 범위의 결과를 생성합니다. 매개 변수를 Object 사용하는 메서드는 AddProvider 지정된 구성 요소의 단일 instance 영향을 줍니다. 반면 매개 변수를 사용하는 Type 다른 오버로드는 해당 형식에서 설명하는 구성 요소의 모든 인스턴스에 영향을 줍니다.

부분적으로 신뢰할 수 있는 AddProviderTransparent(TypeDescriptionProvider, Object) 코드에서 를 호출해야 하는 경우 메서드를 사용합니다.

추가 정보

적용 대상

AddProvider(TypeDescriptionProvider, Type)

Source:
TypeDescriptor.cs
Source:
TypeDescriptor.cs
Source:
TypeDescriptor.cs

구성 요소 클래스에 대한 형식 설명 공급자를 추가합니다.

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)

매개 변수

provider
TypeDescriptionProvider

추가할 TypeDescriptionProvider입니다.

type
Type

대상 구성 요소의 Type입니다.

예외

매개 변수 중 하나 또는 둘 다가 null입니다.

설명

메서드는 AddProvider(TypeDescriptionProvider, Type) 지정된 클래스, 파생 클래스 및 이러한 형식의 모든 인스턴스에 대한 형식 정보를 제공하는 형식 설명 공급자를 추가합니다.

참고

매개 변수는 type 인터페이스를 포함한 모든 형식일 수 있습니다. 예를 들어 모든 구성 요소에 대한 사용자 지정 형식 및 instance 정보를 제공하려면 를 지정typeof(IComponent)합니다. 전달 typeof(object) 은 공급자를 호출하여 모든 형식에 대한 형식 정보를 제공합니다.

이 메서드는 개체에 대한 하드 참조를 유지하지 않으므로 개체가 종료되는 것을 방지하지 않습니다.

동일한 형식 또는 개체에 대해 여러 형식 설명 공급자를 추가할 수 있습니다. 이 경우 형식 정보를 제공하는 첫 번째 형식 설명 공급자가 단독으로 사용됩니다. 형식 정보 공급자는 스택에 저장되므로 마지막으로 추가된 공급자가 쿼리된 첫 번째 공급자가 됩니다. 이 동작을 AddProvider(TypeDescriptionProvider, Type) 사용하면 특정 시나리오에 필요한 대로 및 RemoveProvider 메서드를 사용하여 형식 설명 공급자를 푸시하고 팝할 수 있습니다.

성공하면 이 메서드는 매개 변수에서 Refresh(Type) 메서드를 호출합니다 type .

참고

이 메서드의 두 버전은 서로 다른 범위의 결과를 생성합니다. 매개 변수를 Object 사용하는 메서드는 AddProvider 지정된 구성 요소의 단일 instance 영향을 줍니다. 반면 매개 변수를 사용하는 Type 다른 오버로드는 해당 형식에서 설명하는 구성 요소의 모든 인스턴스에 영향을 줍니다.

부분적으로 신뢰할 수 있는 AddProviderTransparent(TypeDescriptionProvider, Type) 코드에서 를 호출해야 하는 경우 메서드를 사용합니다.

추가 정보

적용 대상