AppDomain.CreateInstance Metoda

Definicja

Tworzy nowe wystąpienie określonego typu zdefiniowanego w określonym zestawie.

Przeciążenia

CreateInstance(String, String)

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie.

CreateInstance(String, String, Object[])

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie. Parametr określa tablicę atrybutów aktywacji.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie. Parametry określają binder, flagi powiązania, argumenty konstruktora, informacje specyficzne dla kultury używane do interpretowania argumentów i opcjonalne atrybuty aktywacji.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Nieaktualne.
Nieaktualne.

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie. Parametry określają binder, flagi powiązania, argumenty konstruktora, informacje specyficzne dla kultury używane do interpretowania argumentów, atrybutów aktywacji i autoryzacji w celu utworzenia typu.

CreateInstance(String, String)

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
member this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Parametry

assemblyName
String

Wyświetlana nazwa zestawu. Zobacz: FullName.

typeName
String

W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwrócona przez FullName właściwość.

Zwraca

ObjectHandle

Obiekt, który jest otoką dla nowego wystąpienia określonego przez typeName. Zwracana wartość musi być bez otoki, aby miała dostęp do rzeczywistego obiektu.

Implementuje

Wyjątki

Próba wykonania operacji w niezaładowanej domenie aplikacji.

assemblyName lub typeName to null.

assemblyName nie jest prawidłowym zestawem.

-lub-

Wersja 2.0 lub nowsza środowiska uruchomieniowego języka wspólnego jest obecnie ładowana i assemblyName została skompilowana z nowszą wersją.

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

assemblyName nie znaleziono.

Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.

Nie znaleziono pasującego publicznego konstruktora.

typename nie znaleziono w pliku assemblyName.

To wystąpienie to null.

Uwagi

Ta metoda wywołuje konstruktor bez parametrów dla elementu typeName.

Zobacz AssemblyName format .assemblyName

Próba wywołania CreateInstance docelowej domeny aplikacji, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w docelowej domenie aplikacji. Ponieważ nie MarshalByRefObjectjest to Assembly , gdy ta metoda próbuje zwrócić Assembly zestaw załadowany do bieżącej domeny aplikacji, środowisko uruchomieniowe języka wspólnego spróbuje załadować zestaw do bieżącej domeny aplikacji, a obciążenie może zakończyć się niepowodzeniem. Jeśli ustawienia ścieżek obu domen aplikacji są różne, zestaw ładowany do bieżącej domeny aplikacji może się różnić od zestawu, który został załadowany po raz pierwszy.

Zobacz też

Dotyczy

CreateInstance(String, String, Object[])

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie. Parametr określa tablicę atrybutów aktywacji.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
member this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

Parametry

assemblyName
String

Wyświetlana nazwa zestawu. Zobacz: FullName.

typeName
String

W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwrócona przez FullName właściwość.

activationAttributes
Object[]

Tablica jednego lub więcej atrybutów, które mogą brać udział w aktywacji. Zazwyczaj tablica zawierająca pojedynczy UrlAttribute obiekt, który określa adres URL wymagany do aktywowania obiektu zdalnego.

Ten parametr jest powiązany z obiektami aktywowanymi przez klienta. Aktywacja klienta to starsza technologia, która jest zachowywana w celu zapewnienia zgodności z poprzednimi wersjami, ale nie jest zalecana w przypadku nowego programowania. Aplikacje rozproszone powinny zamiast tego używać Windows Communication Foundation.

Zwraca

ObjectHandle

Obiekt, który jest otoką dla nowego wystąpienia określonego przez typeName. Zwracana wartość musi być bez otoki, aby miała dostęp do rzeczywistego obiektu.

Implementuje

Wyjątki

Próba wykonania operacji w niezaładowanej domenie aplikacji.

assemblyName lub typeName to null.

assemblyName nie jest prawidłowym zestawem.

-lub-

Wersja 2.0 lub nowsza środowiska uruchomieniowego języka wspólnego jest obecnie ładowana i assemblyName została skompilowana z nowszą wersją.

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

assemblyName nie znaleziono.

Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.

Nie znaleziono pasującego publicznego konstruktora.

Obiekt wywołujący nie może podać atrybutów aktywacji dla obiektu, który nie dziedziczy z MarshalByRefObjectklasy .

typename nie znaleziono w pliku assemblyName.

To wystąpienie to null.

Uwagi

Ta metoda wywołuje konstruktor bez parametrów dla elementu typeName.

Zobacz AssemblyName format .assemblyName

Próba wywołania CreateInstance docelowej domeny aplikacji, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w docelowej domenie aplikacji. Ponieważ nie MarshalByRefObjectjest to Assembly , gdy ta metoda próbuje zwrócić Assembly zestaw załadowany do bieżącej domeny aplikacji, środowisko uruchomieniowe języka wspólnego spróbuje załadować zestaw do bieżącej domeny aplikacji, a obciążenie może zakończyć się niepowodzeniem. Jeśli ustawienia ścieżek obu domen aplikacji są różne, zestaw ładowany do bieżącej domeny aplikacji może się różnić od zestawu, który został załadowany po raz pierwszy.

Zobacz też

Dotyczy

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie. Parametry określają binder, flagi powiązania, argumenty konstruktora, informacje specyficzne dla kultury używane do interpretowania argumentów i opcjonalne atrybuty aktywacji.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

Parametry

assemblyName
String

Wyświetlana nazwa zestawu. Zobacz: FullName.

typeName
String

W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwrócona przez FullName właściwość.

ignoreCase
Boolean

Wartość logiczna określająca, czy w wyszukiwaniu ma być uwzględniana wielkość liter czy nie.

bindingAttr
BindingFlags

Kombinacja flag zero lub więcej bitów, które wpływają na wyszukiwanie konstruktora typeName . W przypadku bindingAttr zera przeprowadzane jest wyszukiwanie konstruktorów publicznych z uwzględnieniem wielkości liter.

binder
Binder

Obiekt, który umożliwia powiązanie, przymus typów argumentów, wywołanie elementów członkowskich i pobieranie obiektów przy użyciu odbicia MemberInfo . Jeśli binder ma wartość null, jest używany domyślny binder.

args
Object[]

Argumenty, które mają zostać przekazane do konstruktora. Ta tablica argumentów musi pod względem liczby, kolejności i typów parametrów odpowiadać konstruktorowi, który ma zostać wywołany. Jeśli preferowany jest konstruktor bez parametrów, args musi być pustą tablicą lub null.

culture
CultureInfo

Informacje specyficzne dla kultury, które zarządzają przymusem args do typów formalnych zadeklarowanych dla konstruktora typeName . Jeśli culture jest to null, CultureInfo jest używany element dla bieżącego wątku.

activationAttributes
Object[]

Tablica jednego lub więcej atrybutów, które mogą brać udział w aktywacji. Zazwyczaj tablica zawierająca pojedynczy UrlAttribute obiekt, który określa adres URL wymagany do aktywowania obiektu zdalnego.

Ten parametr jest powiązany z obiektami aktywowanymi przez klienta. Aktywacja klienta to starsza technologia, która jest zachowywana w celu zapewnienia zgodności z poprzednimi wersjami, ale nie jest zalecana w przypadku nowego programowania. Aplikacje rozproszone powinny zamiast tego używać Windows Communication Foundation.

Zwraca

ObjectHandle

Obiekt, który jest otoką dla nowego wystąpienia określonego przez typeName. Zwracana wartość musi być bez otoki, aby miała dostęp do rzeczywistego obiektu.

Wyjątki

Próba wykonania operacji w niezaładowanej domenie aplikacji.

assemblyName lub typeName to null.

assemblyName nie jest prawidłowym zestawem.

-lub-

assemblyName został skompilowany przy użyciu nowszej wersji środowiska uruchomieniowego języka wspólnego niż wersja, która jest obecnie załadowana.

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

assemblyName nie znaleziono.

Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.

Nie znaleziono pasującego konstruktora.

Obiekt wywołujący nie może podać atrybutów aktywacji dla obiektu, który nie dziedziczy z MarshalByRefObjectklasy .

typename nie znaleziono w pliku assemblyName.

To wystąpienie to null.

Uwagi

Zobacz AssemblyName format .assemblyName

Próba wywołania CreateInstance docelowej domeny aplikacji, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w docelowej domenie aplikacji. Ponieważ nie MarshalByRefObjectjest to Assembly , gdy ta metoda próbuje zwrócić Assembly zestaw załadowany do bieżącej domeny aplikacji, środowisko uruchomieniowe języka wspólnego spróbuje załadować zestaw do bieżącej domeny aplikacji, a obciążenie może zakończyć się niepowodzeniem. Jeśli ustawienia ścieżek obu domen aplikacji są różne, zestaw ładowany do bieżącej domeny aplikacji może się różnić od zestawu, który został załadowany po raz pierwszy.

Zobacz też

Dotyczy

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Przestroga

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Przestroga

Use an overload that does not take an Evidence parameter

Tworzy nowe wystąpienie określonego typu zdefiniowanego w podanym zestawie. Parametry określają binder, flagi powiązania, argumenty konstruktora, informacje specyficzne dla kultury używane do interpretowania argumentów, atrybutów aktywacji i autoryzacji w celu utworzenia typu.

public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle

Parametry

assemblyName
String

Wyświetlana nazwa zestawu. Zobacz: FullName.

typeName
String

W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwrócona przez FullName właściwość.

ignoreCase
Boolean

Wartość logiczna określająca, czy w wyszukiwaniu ma być uwzględniana wielkość liter czy nie.

bindingAttr
BindingFlags

Kombinacja flag zero lub więcej bitów, które wpływają na wyszukiwanie konstruktora typeName . W przypadku bindingAttr zera przeprowadzane jest wyszukiwanie konstruktorów publicznych z uwzględnieniem wielkości liter.

binder
Binder

Obiekt, który umożliwia powiązanie, przymus typów argumentów, wywołanie elementów członkowskich i pobieranie obiektów przy użyciu odbicia MemberInfo . Jeśli binder ma wartość null, jest używany domyślny binder.

args
Object[]

Argumenty, które mają zostać przekazane do konstruktora. Ta tablica argumentów musi pod względem liczby, kolejności i typów parametrów odpowiadać konstruktorowi, który ma zostać wywołany. Jeśli preferowany jest konstruktor bez parametrów, args musi być pustą tablicą lub null.

culture
CultureInfo

Informacje specyficzne dla kultury, które zarządzają przymusem args do typów formalnych zadeklarowanych dla konstruktora typeName . Jeśli culture jest to null, CultureInfo jest używany element dla bieżącego wątku.

activationAttributes
Object[]

Tablica jednego lub więcej atrybutów, które mogą brać udział w aktywacji. Zazwyczaj tablica zawierająca pojedynczy UrlAttribute obiekt, który określa adres URL wymagany do aktywowania obiektu zdalnego.

Ten parametr jest powiązany z obiektami aktywowanymi przez klienta. Aktywacja klienta to starsza technologia, która jest zachowywana w celu zapewnienia zgodności z poprzednimi wersjami, ale nie jest zalecana w przypadku nowego programowania. Aplikacje rozproszone powinny zamiast tego używać Windows Communication Foundation.

securityAttributes
Evidence

Informacje używane do autoryzowania tworzenia elementu typeName.

Zwraca

ObjectHandle

Obiekt, który jest otoką dla nowego wystąpienia określonego przez typeName. Zwracana wartość musi być bez otoki, aby miała dostęp do rzeczywistego obiektu.

Implementuje

Atrybuty

Wyjątki

Próba wykonania operacji w niezaładowanej domenie aplikacji.

assemblyName lub typeName to null.

assemblyName nie jest prawidłowym zestawem.

-lub-

Wersja 2.0 lub nowsza środowiska uruchomieniowego języka wspólnego jest obecnie ładowana i assemblyName została skompilowana z nowszą wersją.

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

assemblyName nie znaleziono.

Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.

Nie znaleziono pasującego konstruktora.

Obiekt wywołujący nie może podać atrybutów aktywacji dla obiektu, który nie dziedziczy z MarshalByRefObjectklasy .

-lub-

securityAttributes nie nulljest . Jeśli starsze zasady CAS nie są włączone, securityAttributes powinny być null

typename nie znaleziono w pliku assemblyName.

To wystąpienie to null.

Uwagi

Zobacz AssemblyName format .assemblyName

Próba wywołania CreateInstance docelowej domeny aplikacji, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w docelowej domenie aplikacji. Ponieważ nie MarshalByRefObjectjest to Assembly , gdy ta metoda próbuje zwrócić Assembly zestaw załadowany do bieżącej domeny aplikacji, środowisko uruchomieniowe języka wspólnego spróbuje załadować zestaw do bieżącej domeny aplikacji, a obciążenie może zakończyć się niepowodzeniem. Jeśli ustawienia ścieżek obu domen aplikacji są różne, zestaw ładowany do bieżącej domeny aplikacji może się różnić od zestawu, który został załadowany po raz pierwszy.

Zobacz też

Dotyczy