Sdílet prostřednictvím


AppDomain.CreateInstance Metoda

Definice

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

assemblyName
String

Zobrazovaný název sestavení. Viz FullName.

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 assemblyNamenalezen .

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

assemblyName
String

Zobrazovaný název sestavení. Viz FullName.

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 assemblyNamenalezen .

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

assemblyName
String

Zobrazovaný název sestavení. Viz FullName.

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 culturenull, 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 assemblyNamenalezen .

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

assemblyName
String

Zobrazovaný název sestavení. Viz FullName.

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 culturenull, 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 assemblyNamenalezen .

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