TypeDescriptor.CreateInstance(IServiceProvider, Type, Type[], Object[]) Метод

Определение

Создает объект, которым можно заменить другой тип данных.Creates an object that can substitute for another data type.

public:
 static System::Object ^ CreateInstance(IServiceProvider ^ provider, Type ^ objectType, cli::array <Type ^> ^ argTypes, cli::array <System::Object ^> ^ args);
public static object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
static member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
Public Shared Function CreateInstance (provider As IServiceProvider, objectType As Type, argTypes As Type(), args As Object()) As Object

Параметры

provider
IServiceProvider

Поставщик служб, предоставляющий службу TypeDescriptionProvider.The service provider that provides a TypeDescriptionProvider service. Этот параметр может иметь значение null.This parameter can be null.

objectType
Type

Тип Type создаваемого объекта.The Type of object to create.

argTypes
Type[]

Необязательный массив типов параметров для передачи в конструктор объекта.An optional array of parameter types to be passed to the object's constructor. Этот параметр может иметь значение null или быть массивом нулевой длины.This parameter can be null or an array of zero length.

args
Object[]

Необязательный массив значений параметров для передачи в конструктор объекта.An optional array of parameter values to pass to the object's constructor. Если не null, число элементов должно быть таким же, как argTypes.If not null, the number of elements must be the same as argTypes.

Возвращаемое значение

Object

Экземпляр подставляемого типа данных, если найден связанный поставщик TypeDescriptionProvider; в противном случае — значение null.An instance of the substitute data type if an associated TypeDescriptionProvider is found; otherwise, null.

Исключения

Параметр objectType имеет значение null, или параметр args имеет значение null, если значением параметра argTypes не является null.objectType is null, or args is null when argTypes is not null.

Параметры argTypes и args содержат различное количество элементов.argTypes and args have different number of elements.

Комментарии

CreateInstanceМетод будет искать объект TypeDescriptionProvider , связанный с указанным objectType типом данных.The CreateInstance method will search for a TypeDescriptionProvider that is associated with the specified objectType data type. Сначала этот метод пытается получить поставщик описания типа из provider параметра.This method first tries to obtain a type description provider from the provider parameter. В случае сбоя он выполняет поиск по собственным внутренним таблицам для поставщика (эти записи были созданы с помощью предыдущих вызовов AddProvider ).If this fails, it searches its own internal tables for a provider (these entries were created through previous calls to AddProvider). При обнаружении поставщика этот метод делегирует вызов создания этому объекту.If it finds a provider, this method will delegate the creation call to that object.

Примечания для тех, кто наследует этот метод

Если производный класс не предоставляет заменяющий экземпляр, этот метод должен вызывать базовую реализацию.If the derived class does not provide a substitute instance, this method should call the base implementation.

Применяется к

См. также раздел