Udostępnij za pośrednictwem


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

assemblyName
String

Nazwa wyświetlana zestawu. Zobacz FullName.

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

assemblyName
String

Nazwa wyświetlana zestawu. Zobacz FullName.

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

assemblyName
String

Nazwa wyświetlana zestawu. Zobacz FullName.

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

assemblyName
String

Nazwa wyświetlana zestawu. Zobacz FullName.

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.

Zobacz też

Dotyczy