TypeDescriptionProvider.CreateInstance Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает объект, который может заменить другой тип данных.
public:
virtual System::Object ^ CreateInstance(IServiceProvider ^ provider, Type ^ objectType, cli::array <Type ^> ^ argTypes, cli::array <System::Object ^> ^ args);
public virtual object CreateInstance(IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
abstract member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
override this.CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
Public Overridable Function CreateInstance (provider As IServiceProvider, objectType As Type, argTypes As Type(), args As Object()) As Object
Параметры
- provider
- IServiceProvider
Необязательный поставщик услуг.
- objectType
- Type
Тип создаваемого объекта. Этот параметр никогда не nullявляется.
- argTypes
- Type[]
Необязательный массив типов, представляющих типы параметров, передаваемые конструктору объекта. Этот массив может быть или равен null нулю длины.
- args
- Object[]
Необязательный массив значений параметров для передачи конструктору объекта.
Возвращаемое значение
Замена Object.
Комментарии
Заданный IServiceProviderprovider параметром передается методом TypeDescriptor.CreateInstanceTypeDescriptor класса. Если provider это не nullтак, поставщик услуг может использоваться поставщиком описания типа для получения дополнительного контекста о вызове создания.
Метод CreateInstance имеет значение virtual и, по умолчанию, возвращает результат Activator.CreateInstance метода, если parent это null. Если parent это не nullтак, этот метод вызовет CreateInstance метод родительского поставщика.
Примечания для тех, кто наследует этот метод
Если производный класс не заинтересован в предоставлении замещающего экземпляра, он должен просто вызвать базовую реализацию.