TypeDescriptionProvider Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides supplemental metadata to the TypeDescriptor.
public ref class TypeDescriptionProvider abstract
public abstract class TypeDescriptionProvider
type TypeDescriptionProvider = class
Public MustInherit Class TypeDescriptionProvider
- Inheritance
-
TypeDescriptionProvider
- Derived
Remarks
The TypeDescriptionProvider class dynamically extends the type information associated with a type or object by adding, modifying, or hiding characteristics such as attributes, properties, and events. There can be multiple type description provider classes that offer metadata to a single TypeDescriptor.
There are two ways to associate a TypeDescriptionProvider with a TypeDescriptor:
At design time, when the target class can be assigned the appropriate TypeDescriptionProviderAttribute tag.
At run time, when one of the AddProvider methods of the TypeDescriptor class can be called. These overloaded methods require either the target object or its class type.
The TypeDescriptionProvider class relies on a parent object of the same type, supplied during construction. This allows classes that derive from CustomTypeDescriptor to selectively override methods.
Instances of TypeDescriptionProvider are only built upon demand, minimizing the impact of custom type information on performance.
Notes to Implementers
Your derived type might be marked as internal
or private
, but an instance of your type can be created with the TypeDescriptor class. Do not write insecure code by assuming the caller is trusted. Assume instead that callers might create instances of your type in partial trust.
Constructors
TypeDescriptionProvider() |
Initializes a new instance of the TypeDescriptionProvider class. |
TypeDescriptionProvider(TypeDescriptionProvider) |
Initializes a new instance of the TypeDescriptionProvider class using a parent type description provider. |
Properties
RequireRegisteredTypes |
Gets a value that indicates whether the provider uses reflection and requires types to be registered through RegisterType<T>() to support trimmed applications. |
Methods
CreateInstance(IServiceProvider, Type, Type[], Object[]) |
Creates an object that can substitute for another data type. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetCache(Object) |
Gets a per-object cache, accessed as an IDictionary of key/value pairs. |
GetExtendedTypeDescriptor(Object) |
Gets an extended custom type descriptor for the given object. |
GetExtendedTypeDescriptorFromRegisteredType(Object) |
Returns an extended custom type descriptor for the given object. |
GetExtenderProviders(Object) |
Gets the extender providers for the specified object. |
GetFullComponentName(Object) |
Gets the name of the specified component, or |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetReflectionType(Object) |
Performs normal reflection against the given object. |
GetReflectionType(Type) |
Performs normal reflection against a type. |
GetReflectionType(Type, Object) |
Performs normal reflection against the given object with the given type. |
GetRuntimeType(Type) |
Converts a reflection type into a runtime type. |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
GetTypeDescriptor(Object) |
Gets a custom type descriptor for the given object. |
GetTypeDescriptor(Type) |
Gets a custom type descriptor for the given type. |
GetTypeDescriptor(Type, Object) |
Gets a custom type descriptor for the given type and object. |
GetTypeDescriptorFromRegisteredType(Object) |
Returns a custom type descriptor for the given type or object. |
GetTypeDescriptorFromRegisteredType(Type) |
Returns a custom type descriptor for the given type or object. |
GetTypeDescriptorFromRegisteredType(Type, Object) |
Returns a custom type descriptor for the given type or object. |
IsRegisteredType(Type) |
Determines whether the type was registered with its provider through RegisterType<T>(). |
IsSupportedType(Type) |
Gets a value that indicates whether the specified type is compatible with the type description and its chain of type description providers. |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
RegisterType<T>() |
Registers the type so it can be used by reflection-based providers in trimmed applications. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |