AppDomain.CreateInstance Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |
Przestarzałe.
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)
- Źródło:
- AppDomain.cs
- Źródło:
- AppDomain.cs
- Źródło:
- AppDomain.cs
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: .
- typeName
- String
W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwrócona przez FullName właściwość.
Zwraca
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 aktualnie załadowanego środowiska uruchomieniowego.
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[])
- Źródło:
- AppDomain.cs
- Źródło:
- AppDomain.cs
- Źródło:
- AppDomain.cs
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: .
- 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ć programu Windows Communication Foundation.
Zwraca
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 aktualnie załadowanego środowiska uruchomieniowego.
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[])
- Źródło:
- AppDomain.cs
- Źródło:
- AppDomain.cs
- Źródło:
- AppDomain.cs
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: .
- 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ć programu Windows Communication Foundation.
Zwraca
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 aktualnie załadowanego środowiska uruchomieniowego.
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.
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 (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);
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
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: .
- 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ć programu Windows Communication Foundation.
- securityAttributes
- Evidence
Informacje używane do autoryzowania tworzenia elementu typeName
.
Zwraca
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 aktualnie załadowanego środowiska uruchomieniowego.
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 null
jest . 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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla