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 określonym zestawie. |
CreateInstance(String, String, Object[]) |
Tworzy nowe wystąpienie określonego typu zdefiniowanego w określonym 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 określonym zestawie. Parametry określają powiązanie, 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 określonym zestawie. Parametry określają powiązanie, 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 określonym 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
- typeName
- String
W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwracana przez właściwość FullName.
Zwraca
Obiekt, który jest otoką dla nowego wystąpienia określonego przez typeName
. Aby uzyskać dostęp do rzeczywistego obiektu, należy rozpasać wartość zwracaną.
Implementuje
Wyjątki
Operacja jest podejmowana w domenie aplikacji, która została zwolniona.
assemblyName
lub typeName
jest null
.
assemblyName
nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.
Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.
nie można odnaleźć assemblyName
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie znaleziono pasującego publicznego konstruktora.
nie można odnaleźć typeName
w assemblyName
.
To wystąpienie jest null
.
Uwagi
Ta metoda wywołuje konstruktor bez parametrów dla typeName
.
Aby uzyskać format assemblyName
, zobacz AssemblyName .
Próba wywołania CreateInstance w domenie aplikacji docelowej, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w domenie aplikacji docelowej. Ponieważ Assembly nie jest MarshalByRefObject, gdy ta metoda próbuje zwrócić Assembly załadowanego zestawu 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. Zestaw załadowany do bieżącej domeny aplikacji może różnić się od zestawu, który został załadowany jako pierwszy, jeśli ustawienia ścieżki dla dwóch domen aplikacji są różne.
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 określonym 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
- typeName
- String
W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwracana przez właściwość FullName.
- activationAttributes
- Object[]
Tablica co najmniej jednego atrybutu, który może uczestniczyć w aktywacji. Zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute określający adres URL wymagany do aktywowania obiektu zdalnego.
Ten parametr jest zwią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
. Aby uzyskać dostęp do rzeczywistego obiektu, należy rozpasać wartość zwracaną.
Implementuje
Wyjątki
Operacja jest podejmowana w domenie aplikacji, która została zwolniona.
assemblyName
lub typeName
jest null
.
assemblyName
nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.
Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.
nie można odnaleźć assemblyName
.
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 MarshalByRefObject.
nie można odnaleźć typeName
w assemblyName
.
To wystąpienie jest null
.
Uwagi
Ta metoda wywołuje konstruktor bez parametrów dla typeName
.
Aby uzyskać format assemblyName
, zobacz AssemblyName .
Próba wywołania CreateInstance w domenie aplikacji docelowej, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w domenie aplikacji docelowej. Ponieważ Assembly nie jest MarshalByRefObject, gdy ta metoda próbuje zwrócić Assembly załadowanego zestawu 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. Zestaw załadowany do bieżącej domeny aplikacji może różnić się od zestawu, który został załadowany jako pierwszy, jeśli ustawienia ścieżki dla dwóch domen aplikacji są różne.
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 określonym zestawie. Parametry określają powiązanie, 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
- typeName
- String
W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwracana przez właściwość FullName.
- ignoreCase
- Boolean
Wartość logiczna określająca, czy ma być wykonywane wyszukiwanie z uwzględnieniem wielkości liter.
- bindingAttr
- BindingFlags
Kombinacja flag zero lub więcej bitów, które wpływają na wyszukiwanie konstruktora typeName
. Jeśli bindingAttr
wynosi zero, 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 MemberInfo przy użyciu odbicia. Jeśli binder
ma wartość null, zostanie użyty domyślny binder.
- args
- Object[]
Argumenty, które mają być przekazywane do konstruktora. Ta tablica argumentów musi być zgodna z liczbą, kolejnością i typem parametrów konstruktora do wywołania. Jeśli preferowany jest konstruktor bez parametrów, args
musi być pustą tablicą lub wartością null.
- culture
- CultureInfo
Informacje specyficzne dla kultury, które określają przymus args
do typów formalnych zadeklarowanych dla konstruktora typeName
. Jeśli culture
jest null
, zostanie użyta CultureInfo dla bieżącego wątku.
- activationAttributes
- Object[]
Tablica co najmniej jednego atrybutu, który może uczestniczyć w aktywacji. Zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute określający adres URL wymagany do aktywowania obiektu zdalnego.
Ten parametr jest zwią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
. Aby uzyskać dostęp do rzeczywistego obiektu, należy rozpasać wartość zwracaną.
Wyjątki
Operacja jest podejmowana w domenie aplikacji, która została zwolniona.
assemblyName
lub typeName
jest null
.
assemblyName
nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.
Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.
nie można odnaleźć assemblyName
.
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 MarshalByRefObject.
nie można odnaleźć typeName
w assemblyName
.
To wystąpienie jest null
.
Uwagi
Aby uzyskać format assemblyName
, zobacz AssemblyName .
Próba wywołania CreateInstance w domenie aplikacji docelowej, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w domenie aplikacji docelowej. Ponieważ Assembly nie jest MarshalByRefObject, gdy ta metoda próbuje zwrócić Assembly załadowanego zestawu 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. Zestaw załadowany do bieżącej domeny aplikacji może różnić się od zestawu, który został załadowany jako pierwszy, jeśli ustawienia ścieżki dla dwóch domen aplikacji są różne.
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 określonym zestawie. Parametry określają powiązanie, 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
- typeName
- String
W pełni kwalifikowana nazwa żądanego typu, w tym przestrzeń nazw, ale nie zestaw, zwracana przez właściwość FullName.
- ignoreCase
- Boolean
Wartość logiczna określająca, czy ma być wykonywane wyszukiwanie z uwzględnieniem wielkości liter.
- bindingAttr
- BindingFlags
Kombinacja flag zero lub więcej bitów, które wpływają na wyszukiwanie konstruktora typeName
. Jeśli bindingAttr
wynosi zero, 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 MemberInfo przy użyciu odbicia. Jeśli binder
ma wartość null, zostanie użyty domyślny binder.
- args
- Object[]
Argumenty, które mają być przekazywane do konstruktora. Ta tablica argumentów musi być zgodna z liczbą, kolejnością i typem parametrów konstruktora do wywołania. Jeśli preferowany jest konstruktor bez parametrów, args
musi być pustą tablicą lub wartością null.
- culture
- CultureInfo
Informacje specyficzne dla kultury, które określają przymus args
do typów formalnych zadeklarowanych dla konstruktora typeName
. Jeśli culture
jest null
, zostanie użyta CultureInfo dla bieżącego wątku.
- activationAttributes
- Object[]
Tablica co najmniej jednego atrybutu, który może uczestniczyć w aktywacji. Zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute określający adres URL wymagany do aktywowania obiektu zdalnego.
Ten parametr jest zwią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 typeName
.
Zwraca
Obiekt, który jest otoką dla nowego wystąpienia określonego przez typeName
. Aby uzyskać dostęp do rzeczywistego obiektu, należy rozpasać wartość zwracaną.
Implementuje
- Atrybuty
Wyjątki
Operacja jest podejmowana w domenie aplikacji, która została zwolniona.
assemblyName
lub typeName
jest null
.
assemblyName
nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.
Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.
nie można odnaleźć assemblyName
.
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 MarshalByRefObject.
-lub-
securityAttributes
nie jest null
. Jeśli starsze zasady CAS nie są włączone, securityAttributes
powinny być null
nie można odnaleźć typeName
w assemblyName
.
To wystąpienie jest null
.
Uwagi
Aby uzyskać format assemblyName
, zobacz AssemblyName .
Próba wywołania CreateInstance w domenie aplikacji docelowej, która nie jest bieżącą domeną aplikacji, spowoduje pomyślne załadowanie zestawu w domenie aplikacji docelowej. Ponieważ Assembly nie jest MarshalByRefObject, gdy ta metoda próbuje zwrócić Assembly załadowanego zestawu 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. Zestaw załadowany do bieżącej domeny aplikacji może różnić się od zestawu, który został załadowany jako pierwszy, jeśli ustawienia ścieżki dla dwóch domen aplikacji są różne.