TypeDescriptor 클래스

정의

구성 요소의 특성, 속성 및 이벤트와 같이, 구성 요소의 특성에 대한 정보를 제공합니다.Provides information about the characteristics for a component, such as its attributes, properties, and events. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class TypeDescriptor sealed
public sealed class TypeDescriptor
type TypeDescriptor = class
Public NotInheritable Class TypeDescriptor
상속
TypeDescriptor

설명

.NET Framework에서는 형식에 대 한 메타 데이터에 액세스 하는 두 가지 방법, 즉 System.Reflection 네임 스페이스에 제공 된 리플렉션 API 및 TypeDescriptor 클래스를 제공 합니다.The .NET Framework provides two ways to access metadata on a type: the reflection API provided in the System.Reflection namespace, and the TypeDescriptor class. 리플렉션은 루트 Object 클래스의 GetType 메서드에서 설정 되므로 모든 형식에 사용할 수 있는 일반 메커니즘입니다.Reflection is a general mechanism available to all types because its foundation is established in the GetType method of the root Object class. 형식에 대해 반환 되는 정보는 확장 가능 하지 않으므로 대상 형식을 컴파일한 후에는 수정할 수 없습니다.The information it returns for a type is not extensible, in that it cannot be modified after compilation of the target type. 자세한 내용은 리플렉션의항목을 참조 하세요.For more information, see the topics in Reflection.

반면 TypeDescriptor는 구성 요소에 대 한 확장 가능한 검사 메커니즘입니다. IComponent 인터페이스를 구현 하는 클래스입니다.In contrast, TypeDescriptor is an extensible inspection mechanism for components: those classes that implement the IComponent interface. 리플렉션과 달리 메서드는 검사 하지 않습니다.Unlike reflection, it does not inspect for methods. TypeDescriptor는 대상 구성 요소의 Site를 통해 사용할 수 있는 여러 서비스에 의해 동적으로 확장 될 수 있습니다.TypeDescriptor can be dynamically extended by several services available through the target component's Site. 다음 표에서는 이러한 서비스를 보여 줍니다.The following table shows these services.

서비스 이름Service name 설명Description
IExtenderProvider ToolTip와 같은 다른 클래스가 구성 요소에 추가 속성을 제공할 수 있도록 합니다.Enables another class, such as ToolTip, to provide extra properties to a component.
ITypeDescriptorFilterService 다른 개체에서 구성 요소에 의해 노출 되는 표준 메타 데이터를 수정할 수 있도록 합니다.Enables another object to modify the standard metadata that is exposed by a component.
ICustomTypeDescriptor 클래스에서 자체 메타 데이터를 완전히 및 동적으로 지정 하 여 TypeDescriptor표준 검사 메커니즘을 대체할 수 있도록 합니다.Enables a class to completely and dynamically specify its own metadata, replacing the standard inspection mechanism of TypeDescriptor.

TypeDescriptor에서 제공 하는 확장성을 사용 하면 구성 요소의 디자인 타임 표현이 실제 런타임 표현과 다를 수 있으며,이를 통해 디자인 타임 인프라를 작성 하는 데 유용 TypeDescriptor.The extensibility provided by TypeDescriptor allows the design-time representation of a component to differ from its actual run-time representation, which makes TypeDescriptor useful for building design-time infrastructure.

TypeDescriptor의 모든 메서드가 static됩니다.All the methods in TypeDescriptor are static. 이 클래스의 인스턴스를 만들 수 없으며,이 클래스는 상속 될 수 없습니다.You cannot create an instance of this class, and this class cannot be inherited.

속성 및 이벤트 값은 구성 요소 클래스에서 지정 하거나 디자인 타임에 변경 하는 두 가지 방법으로 설정할 수 있습니다.You can set property and event values two different ways: specify them in the component class or change them at design time. 이러한 값은 두 가지 방법으로 설정할 수 있기 때문에 TypeDescriptor의 오버 로드 된 메서드는 두 가지 형식의 매개 변수, 즉 클래스 형식 또는 개체 인스턴스를 사용 합니다.Because you can set these values two ways, the overloaded methods of TypeDescriptor take two different types of parameters: a class type or an object instance.

TypeDescriptor 정보에 액세스 하 고 개체의 인스턴스를 사용 하려는 경우 구성 요소에 대해를 호출 하는 메서드를 사용 합니다.When you want to access TypeDescriptor information and you have an instance of the object, use the method that calls for a component. 개체의 인스턴스가 없는 경우에만 클래스 형식에 대해를 호출 하는 메서드를 사용 합니다.Use the method that calls for the class type only when you do not have an instance of the object.

속성 및 이벤트는 속도에 대해 TypeDescriptor에 의해 캐시 됩니다.Properties and events are cached by TypeDescriptor for speed. 일반적으로 개체의 수명에 대 한 상수입니다.Typically, they are constant for the lifetime of an object. 그러나 extender 공급자 및 디자이너는 개체의 속성 집합을 변경할 수 있습니다.However, extender providers and designers can change the set of properties on an object. 이 경우 Refresh 메서드를 호출 하 여 캐시를 업데이트 해야 합니다.If this is the case, then the Refresh method must be called to update the cache.

속성

ComNativeDescriptorHandler

대상 구성 요소에 대한 COM(구성 요소 개체 모델) 형식 정보에 대한 공급자를 가져오거나 설정합니다.Gets or sets the provider for the Component Object Model (COM) type information for the target component.

ComObjectType

대상 구성 요소에서 나타내는 COM(구성 요소 개체 모델) 개체의 형식을 가져옵니다.Gets the type of the Component Object Model (COM) object represented by the target component.

InterfaceType

모든 인터페이스 형식에 대한 형식 설명 공급자를 나타내는 형식을 가져옵니다.Gets a type that represents a type description provider for all interface types.

메서드

AddAttributes(Object, Attribute[])

클래스 수준 특성을 대상 구성 요소 인스턴스에 추가합니다.Adds class-level attributes to the target component instance.

AddAttributes(Type, Attribute[])

클래스 수준 특성을 대상 구성 요소 형식에 추가합니다.Adds class-level attributes to the target component type.

AddEditorTable(Type, Hashtable)

지정된 편집기 기본 형식에 대한 편집기 테이블을 추가합니다.Adds an editor table for the given editor base type.

AddProvider(TypeDescriptionProvider, Object)

단일 구성 요소 인스턴스에 대한 형식 설명 공급자를 추가합니다.Adds a type description provider for a single instance of a component.

AddProvider(TypeDescriptionProvider, Type)

구성 요소 클래스에 대한 형식 설명 공급자를 추가합니다.Adds a type description provider for a component class.

AddProviderTransparent(TypeDescriptionProvider, Object)

단일 구성 요소 인스턴스에 대한 형식 설명 공급자를 추가합니다.Adds a type description provider for a single instance of a component.

AddProviderTransparent(TypeDescriptionProvider, Type)

구성 요소 클래스에 대한 형식 설명 공급자를 추가합니다.Adds a type description provider for a component class.

CreateAssociation(Object, Object)

두 개체 사이에 기본-보조 연결을 만듭니다.Creates a primary-secondary association between two objects.

CreateDesigner(IComponent, Type)

지정된 구성 요소와 연결된 디자이너의 인스턴스 및 지정된 형식의 디자이너의 인스턴스를 만듭니다.Creates an instance of the designer associated with the specified component and of the specified type of designer.

CreateEvent(Type, EventDescriptor, Attribute[])

기존 EventDescriptor를 전달할 때 기존 이벤트 설명자와 동일한 새 이벤트 설명자를 만듭니다.Creates a new event descriptor that is identical to an existing event descriptor, when passed the existing EventDescriptor.

CreateEvent(Type, String, Type, Attribute[])

형식에 대해 지정된 이벤트에서 동적으로 설명자 정보를 생성하여 기존 이벤트 설명자와 동일한 새 이벤트 설명자를 만듭니다.Creates a new event descriptor that is identical to an existing event descriptor by dynamically generating descriptor information from a specified event on a type.

CreateInstance(IServiceProvider, Type, Type[], Object[])

다른 데이터 형식 대신 사용할 수 있는 개체를 만듭니다.Creates an object that can substitute for another data type.

CreateProperty(Type, PropertyDescriptor, Attribute[])

지정된 기존 PropertyDescriptor 및 특성 배열을 사용하여 기존 속성 설명자에서 새 속성 설명자를 만듭니다.Creates a new property descriptor from an existing property descriptor, using the specified existing PropertyDescriptor and attribute array.

CreateProperty(Type, String, Type, Attribute[])

지정된 속성 이름, 형식 및 특성 배열을 사용하여 속성 설명자를 만들고 형식에 동적으로 바인딩합니다.Creates and dynamically binds a property descriptor to a type, using the specified property name, type, and attribute array.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetAssociation(Type, Object)

지정된 기본 개체와 연결된 형식의 인스턴스를 반환합니다.Returns an instance of the type associated with the specified primary object.

GetAttributes(Object)

지정된 구성 요소에 대한 특성 컬렉션을 반환합니다.Returns the collection of attributes for the specified component.

GetAttributes(Object, Boolean)

지정된 구성 요소에 대한 특성 컬렉션과 사용자 지정 형식 설명자가 만들어졌는지 여부를 나타내는 부울 값을 반환합니다.Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

GetAttributes(Type)

지정된 구성 요소 형식에 대한 특성 컬렉션을 반환합니다.Returns a collection of attributes for the specified type of component.

GetClassName(Object)

기본 형식 설명자를 사용하여 지정된 구성 요소에 대한 클래스 이름을 반환합니다.Returns the name of the class for the specified component using the default type descriptor.

GetClassName(Object, Boolean)

사용자 지정 형식 설명자를 사용하여 지정된 구성 요소에 대한 클래스 이름을 반환합니다.Returns the name of the class for the specified component using a custom type descriptor.

GetClassName(Type)

지정된 형식에 대한 클래스 이름을 반환합니다.Returns the name of the class for the specified type.

GetComponentName(Object)

기본 형식 설명자를 사용하여 지정된 구성 요소의 이름을 반환합니다.Returns the name of the specified component using the default type descriptor.

GetComponentName(Object, Boolean)

사용자 지정 형식 설명자를 사용하여 지정된 구성 요소의 이름을 반환합니다.Returns the name of the specified component using a custom type descriptor.

GetConverter(Object)

지정된 구성 요소의 형식에 대한 형식 변환기를 반환합니다.Returns a type converter for the type of the specified component.

GetConverter(Object, Boolean)

사용자 지정 형식 설명자를 사용하여 지정된 구성 요소의 형식에 대한 형식 변환기를 반환합니다.Returns a type converter for the type of the specified component with a custom type descriptor.

GetConverter(Type)

지정된 형식에 대한 형식 변환기를 반환합니다.Returns a type converter for the specified type.

GetDefaultEvent(Object)

지정된 구성 요소에 대한 기본 이벤트를 반환합니다.Returns the default event for the specified component.

GetDefaultEvent(Object, Boolean)

사용자 지정 형식 설명자를 사용하여 구성 요소에 대한 기본 이벤트를 반환합니다.Returns the default event for a component with a custom type descriptor.

GetDefaultEvent(Type)

지정된 구성 요소 형식에 대한 기본 이벤트를 반환합니다.Returns the default event for the specified type of component.

GetDefaultProperty(Object)

지정된 구성 요소에 대한 기본 속성을 반환합니다.Returns the default property for the specified component.

GetDefaultProperty(Object, Boolean)

사용자 지정 형식 설명자를 사용하여 지정된 구성 요소에 대한 기본 속성을 반환합니다.Returns the default property for the specified component with a custom type descriptor.

GetDefaultProperty(Type)

지정된 구성 요소 형식에 대한 기본 속성을 반환합니다.Returns the default property for the specified type of component.

GetEditor(Object, Type)

지정된 구성 요소에 대해 지정된 기본 형식의 편집기를 가져옵니다.Gets an editor with the specified base type for the specified component.

GetEditor(Object, Type, Boolean)

지정된 구성 요소에 대해 사용자 지정 형식 설명자를 사용하여 지정된 기본 형식의 편집기를 반환합니다.Returns an editor with the specified base type and with a custom type descriptor for the specified component.

GetEditor(Type, Type)

지정된 형식에 대해 지정된 기본 형식의 편집기를 반환합니다.Returns an editor with the specified base type for the specified type.

GetEvents(Object)

지정된 구성 요소에 대한 이벤트 컬렉션을 반환합니다.Returns the collection of events for the specified component.

GetEvents(Object, Attribute[])

지정된 특성 배열을 필터로 사용하여 지정된 구성 요소에 대한 이벤트 컬렉션을 반환합니다.Returns the collection of events for a specified component using a specified array of attributes as a filter.

GetEvents(Object, Attribute[], Boolean)

지정된 특성 배열을 필터로 사용하고 사용자 지정 형식 설명자를 사용하여 지정된 구성 요소에 대한 이벤트 컬렉션을 반환합니다.Returns the collection of events for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetEvents(Object, Boolean)

사용자 지정 형식 설명자를 사용하여 지정된 구성 요소에 대한 이벤트 컬렉션을 반환합니다.Returns the collection of events for a specified component with a custom type descriptor.

GetEvents(Type)

지정된 구성 요소 형식에 대한 이벤트 컬렉션을 반환합니다.Returns the collection of events for a specified type of component.

GetEvents(Type, Attribute[])

지정된 특성 배열을 필터로 사용하여 지정된 구성 요소 형식에 대한 이벤트 컬렉션을 반환합니다.Returns the collection of events for a specified type of component using a specified array of attributes as a filter.

GetFullComponentName(Object)

구성 요소의 정규화된 이름을 반환합니다.Returns the fully qualified name of the component.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetProperties(Object)

지정된 구성 요소에 대한 속성 컬렉션을 반환합니다.Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[])

지정된 특성 배열을 필터로 사용하여 지정된 구성 요소에 대한 속성 컬렉션을 반환합니다.Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean)

지정된 특성 배열을 필터로 사용하고 사용자 지정 형식 설명자를 사용하여 지정된 구성 요소에 대한 속성 컬렉션을 반환합니다.Returns the collection of properties for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetProperties(Object, Boolean)

기본 형식 설명자를 사용하여 지정된 구성 요소에 대한 속성 컬렉션을 반환합니다.Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type)

지정된 구성 요소 형식에 대한 속성 컬렉션을 반환합니다.Returns the collection of properties for a specified type of component.

GetProperties(Type, Attribute[])

지정된 특성 배열을 필터로 사용하여 지정된 구성 요소 형식에 대한 속성 컬렉션을 반환합니다.Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProvider(Object)

지정된 구성 요소에 대한 형식 설명 공급자를 반환합니다.Returns the type description provider for the specified component.

GetProvider(Type)

지정된 형식에 대한 형식 설명 공급자를 반환합니다.Returns the type description provider for the specified type.

GetReflectionType(Object)

개체가 제공된 경우 리플렉션을 수행하는 데 사용할 수 있는 Type을 반환합니다.Returns a Type that can be used to perform reflection, given an object.

GetReflectionType(Type)

클래스 형식이 제공된 경우 리플렉션을 수행하는 데 사용할 수 있는 Type을 반환합니다.Returns a Type that can be used to perform reflection, given a class type.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Refresh(Assembly)

지정된 어셈블리에 대한 속성 및 이벤트를 캐시에서 지웁니다.Clears the properties and events for the specified assembly from the cache.

Refresh(Module)

지정된 모듈에 대한 속성 및 이벤트를 캐시에서 지웁니다.Clears the properties and events for the specified module from the cache.

Refresh(Object)

지정된 구성 요소에 대한 속성 및 이벤트를 캐시에서 지웁니다.Clears the properties and events for the specified component from the cache.

Refresh(Type)

지정된 구성 요소 형식에 대한 속성 및 이벤트를 캐시에서 지웁니다.Clears the properties and events for the specified type of component from the cache.

RemoveAssociation(Object, Object)

두 개체 간의 연결을 제거합니다.Removes an association between two objects.

RemoveAssociations(Object)

기본 개체의 모든 연결을 제거합니다.Removes all associations for a primary object.

RemoveProvider(TypeDescriptionProvider, Object)

지정된 개체와 연결된 이전에 추가한 형식 설명 공급자를 제거합니다.Removes a previously added type description provider that is associated with the specified object.

RemoveProvider(TypeDescriptionProvider, Type)

지정된 형식과 연결된 이전에 추가한 형식 설명 공급자를 제거합니다.Removes a previously added type description provider that is associated with the specified type.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

지정된 개체와 연결된 이전에 추가한 형식 설명 공급자를 제거합니다.Removes a previously added type description provider that is associated with the specified object.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

지정된 형식과 연결된 이전에 추가한 형식 설명 공급자를 제거합니다.Removes a previously added type description provider that is associated with the specified type.

SortDescriptorArray(IList)

설명자의 이름을 사용하여 설명자를 정렬합니다.Sorts descriptors using the name of the descriptor.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

이벤트

Refreshed

구성 요소의 캐시가 지워질 때 발생합니다.Occurs when the cache for a component is cleared.

적용 대상

추가 정보