AppDomain.CreateInstance Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení.
Přetížení
CreateInstance(String, String) |
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. |
CreateInstance(String, String, Object[]) |
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. Parametr určuje pole aktivačních atributů. |
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. Parametry určují pořadač, příznaky vazeb, argumenty konstruktoru, informace specifické pro jazykovou verzi používané k interpretaci argumentů a volitelné aktivační atributy. |
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Zastaralé.
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. Parametry určují pořadač, příznaky vazeb, argumenty konstruktoru, informace specifické pro jazykovou verzi, které slouží k interpretaci argumentů, aktivačních atributů a autorizace k vytvoření typu. |
CreateInstance(String, String)
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení.
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
Plně kvalifikovaný název požadovaného typu, včetně oboru názvů, ale nikoli sestavení, jak je vráceno FullName vlastnost.
Návraty
Objekt, který je obálka pro novou instanci určenou typeName
. Aby bylo možné získat přístup k skutečnému objektu, musí být vrácená hodnota bez přepsání.
Implementuje
Výjimky
Operace se pokusí o uvolněnou doménu aplikace.
assemblyName
nebo typeName
je null
.
assemblyName
není platné sestavení pro aktuálně načtený modul runtime.
Sestavení nebo modul byl načten dvakrát se dvěma různými důkazy.
assemblyName
nebyl nalezen.
Volající nemá oprávnění k volání tohoto konstruktoru.
Nebyl nalezen žádný odpovídající veřejný konstruktor.
typeName
nebyl v assemblyName
nalezen .
Tato instance je null
.
Poznámky
Tato metoda volá konstruktor bez parametrů pro typeName
.
Viz AssemblyName formát assemblyName
.
Pokus o volání CreateInstance v cílové doméně aplikace, která není aktuální doménou aplikace, způsobí úspěšné načtení sestavení v cílové doméně aplikace. Vzhledem k tomu, Assembly není MarshalByRefObject, když se tato metoda pokusí vrátit Assembly pro načtené sestavení do aktuální domény aplikace, modul CLR se pokusí načíst sestavení do aktuální domény aplikace a zatížení může selhat. Sestavení načtené do aktuální domény aplikace se může lišit od sestavení, které bylo načteno jako první, pokud se nastavení cesty pro obě domény aplikace liší.
Viz také
Platí pro
CreateInstance(String, String, Object[])
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. Parametr určuje pole aktivačních atributů.
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
Plně kvalifikovaný název požadovaného typu, včetně oboru názvů, ale nikoli sestavení, jak je vráceno FullName vlastnost.
- activationAttributes
- Object[]
Pole jednoho nebo více atributů, které se mohou účastnit aktivace. Obvykle pole, které obsahuje jeden UrlAttribute objekt, který určuje adresu URL, která je nutná k aktivaci vzdáleného objektu.
Tento parametr souvisí s objekty aktivovanými klientem. Aktivace klienta je starší technologie, která se zachovává kvůli zpětné kompatibilitě, ale nedoporučuje se pro nový vývoj. Distribuované aplikace by místo toho měly používat Windows Communication Foundation.
Návraty
Objekt, který je obálka pro novou instanci určenou typeName
. Aby bylo možné získat přístup k skutečnému objektu, musí být vrácená hodnota bez přepsání.
Implementuje
Výjimky
Operace se pokusí o uvolněnou doménu aplikace.
assemblyName
nebo typeName
je null
.
assemblyName
není platné sestavení pro aktuálně načtený modul runtime.
Sestavení nebo modul byl načten dvakrát se dvěma různými důkazy.
assemblyName
nebyl nalezen.
Volající nemá oprávnění k volání tohoto konstruktoru.
Nebyl nalezen žádný odpovídající veřejný konstruktor.
Volající nemůže poskytnout aktivační atributy objektu, který nedědí z MarshalByRefObject.
typeName
nebyl v assemblyName
nalezen .
Tato instance je null
.
Poznámky
Tato metoda volá konstruktor bez parametrů pro typeName
.
Viz AssemblyName formát assemblyName
.
Pokus o volání CreateInstance v cílové doméně aplikace, která není aktuální doménou aplikace, způsobí úspěšné načtení sestavení v cílové doméně aplikace. Vzhledem k tomu, Assembly není MarshalByRefObject, když se tato metoda pokusí vrátit Assembly pro načtené sestavení do aktuální domény aplikace, modul CLR se pokusí načíst sestavení do aktuální domény aplikace a zatížení může selhat. Sestavení načtené do aktuální domény aplikace se může lišit od sestavení, které bylo načteno jako první, pokud se nastavení cesty pro obě domény aplikace liší.
Viz také
Platí pro
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. Parametry určují pořadač, příznaky vazeb, argumenty konstruktoru, informace specifické pro jazykovou verzi používané k interpretaci argumentů a volitelné aktivační atributy.
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
Plně kvalifikovaný název požadovaného typu, včetně oboru názvů, ale nikoli sestavení, jak je vráceno FullName vlastnost.
- ignoreCase
- Boolean
Logická hodnota určující, jestli se má hledat s rozlišováním velkých a malých písmen, nebo ne.
- bindingAttr
- BindingFlags
Kombinace nulových nebo více bitových příznaků, které ovlivňují hledání konstruktoru typeName
. Pokud je bindingAttr
nula, provede se vyhledávání veřejných konstruktorů s rozlišováním malých a velkých písmen.
- binder
- Binder
Objekt, který umožňuje vazby, převod typů argumentů, vyvolání členů a načtení objektů MemberInfo pomocí reflexe. Pokud binder
má hodnotu null, použije se výchozí pořadač.
- args
- Object[]
Argumenty, které se mají předat konstruktoru. Toto pole argumentů se musí shodovat s číslem, pořadím a zadáním parametrů konstruktoru, které se mají vyvolat. Pokud je upřednostňovaný konstruktor bez parametrů, args
musí být prázdné pole nebo null.
- culture
- CultureInfo
Informace specifické pro jazykovou verzi, které řídí převod args
na formální typy deklarované pro konstruktor typeName
. Pokud je culture
null
, použije se CultureInfo pro aktuální vlákno.
- activationAttributes
- Object[]
Pole jednoho nebo více atributů, které se mohou účastnit aktivace. Obvykle pole, které obsahuje jeden UrlAttribute objekt, který určuje adresu URL, která je nutná k aktivaci vzdáleného objektu.
Tento parametr souvisí s objekty aktivovanými klientem. Aktivace klienta je starší technologie, která se zachovává kvůli zpětné kompatibilitě, ale nedoporučuje se pro nový vývoj. Distribuované aplikace by místo toho měly používat Windows Communication Foundation.
Návraty
Objekt, který je obálka pro novou instanci určenou typeName
. Aby bylo možné získat přístup k skutečnému objektu, musí být vrácená hodnota bez přepsání.
Výjimky
Operace se pokusí o uvolněnou doménu aplikace.
assemblyName
nebo typeName
je null
.
assemblyName
není platné sestavení pro aktuálně načtený modul runtime.
Sestavení nebo modul byl načten dvakrát se dvěma různými důkazy.
assemblyName
nebyl nalezen.
Volající nemá oprávnění k volání tohoto konstruktoru.
Nebyl nalezen žádný odpovídající konstruktor.
Volající nemůže poskytnout aktivační atributy objektu, který nedědí z MarshalByRefObject.
typeName
nebyl v assemblyName
nalezen .
Tato instance je null
.
Poznámky
Viz AssemblyName formát assemblyName
.
Pokus o volání CreateInstance v cílové doméně aplikace, která není aktuální doménou aplikace, způsobí úspěšné načtení sestavení v cílové doméně aplikace. Vzhledem k tomu, Assembly není MarshalByRefObject, když se tato metoda pokusí vrátit Assembly pro načtené sestavení do aktuální domény aplikace, modul CLR se pokusí načíst sestavení do aktuální domény aplikace a zatížení může selhat. Sestavení načtené do aktuální domény aplikace se může lišit od sestavení, které bylo načteno jako první, pokud se nastavení cesty pro obě domény aplikace liší.
Viz také
Platí pro
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Upozornění
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.
Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení. Parametry určují pořadač, příznaky vazeb, argumenty konstruktoru, informace specifické pro jazykovou verzi, které slouží k interpretaci argumentů, aktivačních atributů a autorizace k vytvoření 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
Plně kvalifikovaný název požadovaného typu, včetně oboru názvů, ale nikoli sestavení, jak je vráceno FullName vlastnost.
- ignoreCase
- Boolean
Logická hodnota určující, jestli se má hledat s rozlišováním velkých a malých písmen, nebo ne.
- bindingAttr
- BindingFlags
Kombinace nulových nebo více bitových příznaků, které ovlivňují hledání konstruktoru typeName
. Pokud je bindingAttr
nula, provede se vyhledávání veřejných konstruktorů s rozlišováním malých a velkých písmen.
- binder
- Binder
Objekt, který umožňuje vazby, převod typů argumentů, vyvolání členů a načtení objektů MemberInfo pomocí reflexe. Pokud binder
má hodnotu null, použije se výchozí pořadač.
- args
- Object[]
Argumenty, které se mají předat konstruktoru. Toto pole argumentů se musí shodovat s číslem, pořadím a zadáním parametrů konstruktoru, které se mají vyvolat. Pokud je upřednostňovaný konstruktor bez parametrů, args
musí být prázdné pole nebo null.
- culture
- CultureInfo
Informace specifické pro jazykovou verzi, které řídí převod args
na formální typy deklarované pro konstruktor typeName
. Pokud je culture
null
, použije se CultureInfo pro aktuální vlákno.
- activationAttributes
- Object[]
Pole jednoho nebo více atributů, které se mohou účastnit aktivace. Obvykle pole, které obsahuje jeden UrlAttribute objekt, který určuje adresu URL, která je nutná k aktivaci vzdáleného objektu.
Tento parametr souvisí s objekty aktivovanými klientem. Aktivace klienta je starší technologie, která se zachovává kvůli zpětné kompatibilitě, ale nedoporučuje se pro nový vývoj. Distribuované aplikace by místo toho měly používat Windows Communication Foundation.
- securityAttributes
- Evidence
Informace používané k autorizaci vytváření typeName
.
Návraty
Objekt, který je obálka pro novou instanci určenou typeName
. Aby bylo možné získat přístup k skutečnému objektu, musí být vrácená hodnota bez přepsání.
Implementuje
- Atributy
Výjimky
Operace se pokusí o uvolněnou doménu aplikace.
assemblyName
nebo typeName
je null
.
assemblyName
není platné sestavení pro aktuálně načtený modul runtime.
Sestavení nebo modul byl načten dvakrát se dvěma různými důkazy.
assemblyName
nebyl nalezen.
Volající nemá oprávnění k volání tohoto konstruktoru.
Nebyl nalezen žádný odpovídající konstruktor.
Volající nemůže poskytnout aktivační atributy objektu, který nedědí z MarshalByRefObject.
-nebo-
securityAttributes
není null
. Pokud starší zásady CAS nejsou povolené, securityAttributes
by měly být null
typeName
nebyl v assemblyName
nalezen .
Tato instance je null
.
Poznámky
Viz AssemblyName formát assemblyName
.
Pokus o volání CreateInstance v cílové doméně aplikace, která není aktuální doménou aplikace, způsobí úspěšné načtení sestavení v cílové doméně aplikace. Vzhledem k tomu, Assembly není MarshalByRefObject, když se tato metoda pokusí vrátit Assembly pro načtené sestavení do aktuální domény aplikace, modul CLR se pokusí načíst sestavení do aktuální domény aplikace a zatížení může selhat. Sestavení načtené do aktuální domény aplikace se může lišit od sestavení, které bylo načteno jako první, pokud se nastavení cesty pro obě domény aplikace liší.