TypeDescriptor.CreateInstance Metoda

Definicja

Tworzy obiekt, który może zastąpić inny typ danych.

public:
 static System::Object ^ CreateInstance(IServiceProvider ^ provider, Type ^ objectType, cli::array <Type ^> ^ argTypes, cli::array <System::Object ^> ^ args);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
public static object? CreateInstance (IServiceProvider? provider, Type objectType, Type[]? argTypes, object[]? args);
public static object? CreateInstance (IServiceProvider? provider, Type objectType, Type[]? argTypes, object?[]? args);
public static object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
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

Parametry

provider
IServiceProvider

Dostawca usług, który zapewnia usługę TypeDescriptionProvider . Ten parametr może mieć wartość null.

objectType
Type

Obiekt do utworzenia Type .

argTypes
Type[]

Opcjonalna tablica typów parametrów do przekazania do konstruktora obiektu. Ten parametr może być null lub tablicą o zerowej długości.

args
Object[]

Opcjonalna tablica wartości parametrów do przekazania do konstruktora obiektu. Jeśli nie null, liczba elementów musi być taka sama jak argTypes.

Zwraca

Wystąpienie zastępczego typu danych, jeśli zostanie znalezione skojarzone TypeDescriptionProvider ; w przeciwnym razie null.

Atrybuty

Wyjątki

objectType to null, lub args jest null , gdy argTypes nie nulljest .

argTypes i args mają różne elementy.

Uwagi

Metoda CreateInstance wyszuka element TypeDescriptionProvider skojarzony z określonym objectType typem danych. Ta metoda najpierw próbuje uzyskać dostawcę opisu typu z parametru provider . Jeśli to się nie powiedzie, przeszukuje własne tabele wewnętrzne dostawcy (te wpisy zostały utworzone za pomocą poprzednich wywołań do AddProvidermetody ). Jeśli znajdzie dostawcę, ta metoda deleguje wywołanie tworzenia do tego obiektu.

Uwagi dotyczące dziedziczenia

Jeśli klasa pochodna nie udostępnia wystąpienia zastępczego, ta metoda powinna wywołać implementację podstawową.

Dotyczy

Zobacz też