Activator.CreateInstanceFrom 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 wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów.
Przeciążenia
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Przestarzałe.
Tworzy wystąpienie typu, którego nazwa jest określona w określonej domenie zdalnej, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów. |
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Przestarzałe.
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów. |
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Tworzy wystąpienie typu, którego nazwa jest określona w określonej domenie zdalnej, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów. |
CreateInstanceFrom(String, String, Object[]) |
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów. |
CreateInstanceFrom(AppDomain, String, String) |
Tworzy wystąpienie typu, którego nazwa jest określona w określonej domenie zdalnej, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów. |
CreateInstanceFrom(String, String) |
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów. |
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów. |
CreateInstanceFrom(AppDomain, 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Tworzy wystąpienie typu, którego nazwa jest określona w określonej domenie zdalnej, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, 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 static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, 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);
static member CreateInstanceFrom : AppDomain * 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile 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
- domain
- AppDomain
Domena zdalna, w której jest tworzony typ o nazwie typeName
.
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
- ignoreCase
- Boolean
true
określić, że wyszukiwanie typeName
nie uwzględnia wielkości liter; false
określić, że wyszukiwanie uwzględnia wielkość 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 używa bindingAttr
i args
do wyszukiwania i identyfikowania konstruktora typeName
. Jeśli binder
jest null
, zostanie użyty domyślny binder.
- args
- Object[]
Tablica argumentów, które pasują do liczby, kolejności i wpisz parametry konstruktora do wywołania. Jeśli args
jest pustą tablicą lub null
, konstruktor, który nie przyjmuje żadnych parametrów (konstruktor bez parametrów) jest wywoływany.
- 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. Jest to zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute, który określa 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 podejmowania decyzji dotyczących zasad zabezpieczeń i udzielania uprawnień do kodu.
Zwraca
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
- Atrybuty
Wyjątki
domain
lub typeName
jest null
.
Nie znaleziono pasującego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
Obiekt wywołujący ma wymagany FileIOPermission.
activationAttributes
nie jest pustą tablicą, a tworzony typ nie pochodzi z MarshalByRefObject.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
Środowisko uruchomieniowe języka wspólnego (CLR) w wersji 2.0 lub nowszej jest obecnie ładowane, a assemblyFile
został skompilowany dla wersji środowiska CLR nowszej niż aktualnie załadowana wersja. Należy pamiętać, że program .NET Framework w wersji 2.0, 3.0 i 3.5 używa środowiska CLR w wersji 2.0.
Uwagi
Użyj CreateInstanceFrom, gdy host musi wykonać kod w domenie aplikacji z ograniczonymi uprawnieniami zabezpieczeń.
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcję Wyjątki metod Assembly.LoadFrom i CreateInstance.
Dotyczy
CreateInstanceFrom(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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, 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 ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstanceFrom : 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle
Parametry
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
- ignoreCase
- Boolean
true
określić, że wyszukiwanie typeName
nie uwzględnia wielkości liter; false
określić, że wyszukiwanie uwzględnia wielkość 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 używa bindingAttr
i args
do wyszukiwania i identyfikowania konstruktora typeName
. Jeśli binder
jest null
, zostanie użyty domyślny binder.
- args
- Object[]
Tablica argumentów, które pasują do liczby, kolejności i wpisz parametry konstruktora do wywołania. Jeśli args
jest pustą tablicą lub null
, konstruktor, który nie przyjmuje żadnych parametrów (konstruktor bez parametrów) jest wywoływany.
- 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. Jest to zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute, który określa 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.
- securityInfo
- Evidence
Informacje używane do podejmowania decyzji dotyczących zasad zabezpieczeń i udzielania uprawnień do kodu.
Zwraca
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
- Atrybuty
Wyjątki
typeName
jest null
.
Nie znaleziono pasującego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
Obiekt wywołujący nie ma wymaganego FileIOPermission.
activationAttributes
nie jest pustą tablicą, a tworzony typ nie pochodzi z MarshalByRefObject.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
Środowisko uruchomieniowe języka wspólnego (CLR) w wersji 2.0 lub nowszej jest obecnie ładowane, a assemblyFile
został skompilowany dla wersji środowiska CLR nowszej niż aktualnie załadowana wersja. Należy pamiętać, że program .NET Framework w wersji 2.0, 3.0 i 3.5 używa środowiska CLR w wersji 2.0.
Uwagi
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcję Wyjątki metod Assembly.LoadFrom i CreateInstance.
Dotyczy
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
Tworzy wystąpienie typu, którego nazwa jest określona w określonej domenie zdalnej, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, 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.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile 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
- domain
- AppDomain
Domena zdalna, w której jest tworzony typ o nazwie typeName
.
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
- ignoreCase
- Boolean
true
określić, że wyszukiwanie typeName
nie uwzględnia wielkości liter; false
określić, że wyszukiwanie uwzględnia wielkość 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 używa bindingAttr
i args
do wyszukiwania i identyfikowania konstruktora typeName
. Jeśli binder
jest null
, zostanie użyty domyślny binder.
- args
- Object[]
Tablica argumentów, które pasują do liczby, kolejności i wpisz parametry konstruktora do wywołania. Jeśli args
jest pustą tablicą lub null
, konstruktor, który nie przyjmuje żadnych parametrów (konstruktor bez parametrów) jest wywoływany.
- 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. Jest to zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute, który określa 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
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
- Atrybuty
Wyjątki
domain
lub typeName
jest null
.
Nie znaleziono pasującego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
Obiekt wywołujący ma wymagany FileIOPermission.
activationAttributes
nie jest pustą tablicą, a tworzony typ nie pochodzi z MarshalByRefObject.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
assemblyFile
został skompilowany dla wersji środowiska uruchomieniowego języka wspólnego, która jest nowsza niż wersja, która jest aktualnie załadowana.
Uwagi
Użyj CreateInstanceFrom, gdy host musi wykonać kod w domenie aplikacji z ograniczonymi uprawnieniami zabezpieczeń.
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcje Wyjątki metod Assembly.LoadFrom i CreateInstance.
Dotyczy
CreateInstanceFrom(String, String, Object[])
- Źródło:
- Activator.cs
- Źródło:
- Activator.cs
- Źródło:
- Activator.cs
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, object[] activationAttributes);
static member CreateInstanceFrom : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, activationAttributes As Object()) As ObjectHandle
Parametry
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
- activationAttributes
- Object[]
Tablica co najmniej jednego atrybutu, który może uczestniczyć w aktywacji. Jest to zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute, który określa 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
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
Wyjątki
typeName
jest null
.
Nie znaleziono pasującego publicznego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
activationAttributes
nie jest pustą tablicą, a tworzony typ nie pochodzi z MarshalByRefObject.
Obiekt wywołujący ma wymagany FileIOPermission.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
Środowisko uruchomieniowe języka wspólnego (CLR) w wersji 2.0 lub nowszej jest obecnie ładowane, a assemblyFile
został skompilowany dla wersji środowiska CLR nowszej niż aktualnie załadowana wersja. Należy pamiętać, że program .NET Framework w wersji 2.0, 3.0 i 3.5 używa środowiska CLR w wersji 2.0.
Uwagi
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcję Wyjątki metod Assembly.LoadFrom i CreateInstance.
Dotyczy
CreateInstanceFrom(AppDomain, String, String)
Tworzy wystąpienie typu, którego nazwa jest określona w określonej domenie zdalnej, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String) As ObjectHandle
Parametry
- domain
- AppDomain
Domena zdalna, w której jest tworzony typ o nazwie typeName
.
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
Zwraca
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
- Atrybuty
Wyjątki
domain
lub typeName
jest null
.
Nie znaleziono pasującego publicznego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
Obiekt wywołujący ma wymagany FileIOPermission.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
Środowisko uruchomieniowe języka wspólnego (CLR) w wersji 2.0 lub nowszej jest obecnie ładowane, a assemblyFile
został skompilowany dla wersji środowiska CLR nowszej niż aktualnie załadowana wersja. Należy pamiętać, że program .NET Framework w wersji 2.0, 3.0 i 3.5 używa środowiska CLR w wersji 2.0.
Uwagi
Użyj CreateInstanceFrom, gdy host musi wykonać kod w domenie aplikacji z ograniczonymi uprawnieniami zabezpieczeń.
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcję Wyjątki metod Assembly.LoadFrom i CreateInstance.
Dotyczy
CreateInstanceFrom(String, String)
- Źródło:
- Activator.cs
- Źródło:
- Activator.cs
- Źródło:
- Activator.cs
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName);
static member CreateInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String) As ObjectHandle
Parametry
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
Zwraca
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
Wyjątki
typeName
jest null
.
Nie znaleziono pasującego publicznego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
Obiekt wywołujący ma wymagany FileIOPermission.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
Środowisko uruchomieniowe języka wspólnego (CLR) w wersji 2.0 lub nowszej jest obecnie ładowane, a assemblyFile
został skompilowany dla wersji środowiska CLR nowszej niż aktualnie załadowana wersja. Należy pamiętać, że program .NET Framework w wersji 2.0, 3.0 i 3.5 używa środowiska CLR w wersji 2.0.
Przykłady
W poniższym przykładzie kodu pokazano, jak wywołać metodę CreateInstanceFrom. Ten przykład kodu jest częścią większego przykładu udostępnionego dla klasy Activator.
// Create an instance of the SomeType class that is defined in this
// assembly.
System::Runtime::Remoting::ObjectHandle^ oh =
Activator::CreateInstanceFrom(Assembly::GetEntryAssembly()->CodeBase,
SomeType::typeid->FullName);
// Call an instance method defined by the SomeType type using this object.
SomeType^ st = (SomeType^) oh->Unwrap();
st->DoSomething(5);
// Create an instance of the SomeType class that is defined in this
// assembly.
System.Runtime.Remoting.ObjectHandle oh =
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase,
typeof(SomeType).FullName);
// Call an instance method defined by the SomeType type using this object.
SomeType st = (SomeType) oh.Unwrap();
st.DoSomething(5);
// Create an instance of the SomeType class that is defined in this assembly.
let oh =
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().Location, typeof<SomeType>.FullName)
// Call an instance method defined by the SomeType type using this object.
let st = oh.Unwrap() :?> SomeType
st.DoSomething 5
' Create an instance of the SomeType class that is defined in this assembly.
Dim oh As System.Runtime.Remoting.ObjectHandle = _
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, _
GetType(SomeType).FullName)
' Call an instance method defined by the SomeType type using this object.
Dim st As SomeType = CType(oh.Unwrap(), SomeType)
st.DoSomething(5)
Uwagi
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcję Wyjątki metod Assembly.LoadFrom i CreateInstance.
Dotyczy
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Źródło:
- Activator.cs
- Źródło:
- Activator.cs
- Źródło:
- Activator.cs
Tworzy wystąpienie typu, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora, który najlepiej pasuje do określonych parametrów.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, 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 static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile 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
- assemblyFile
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
- ignoreCase
- Boolean
true
określić, że wyszukiwanie typeName
nie uwzględnia wielkości liter; false
określić, że wyszukiwanie uwzględnia wielkość 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 używa bindingAttr
i args
do wyszukiwania i identyfikowania konstruktora typeName
. Jeśli binder
jest null
, zostanie użyty domyślny binder.
- args
- Object[]
Tablica argumentów, które pasują do liczby, kolejności i wpisz parametry konstruktora do wywołania. Jeśli args
jest pustą tablicą lub null
, konstruktor, który nie przyjmuje żadnych parametrów (konstruktor bez parametrów) jest wywoływany.
- 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. Jest to zazwyczaj tablica zawierająca pojedynczy obiekt UrlAttribute, który określa 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
Uchwyt, który musi zostać rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
dla wystąpień Nullable<T>.
Wyjątki
typeName
jest null
.
Nie znaleziono pasującego konstruktora.
nie można odnaleźć typeName
w assemblyFile
.
nie można odnaleźć assemblyFile
.
Obiekt wywołujący nie ma uprawnień do wywoływania tego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej lub ten element członkowski został wywołany z mechanizmem późnego powiązania.
Konstruktor, który został wywołany przez odbicie, rzucił wyjątek.
Obiekt wywołujący nie ma wymaganego FileIOPermission.
activationAttributes
nie jest pustą tablicą, a tworzony typ nie pochodzi z MarshalByRefObject.
assemblyFile
nie jest prawidłowym zestawem.
-lub-
Środowisko uruchomieniowe języka wspólnego (CLR) w wersji 2.0 lub nowszej jest obecnie ładowane, a assemblyFile
został skompilowany dla wersji środowiska CLR nowszej niż aktualnie załadowana wersja. Należy pamiętać, że program .NET Framework w wersji 2.0, 3.0 i 3.5 używa środowiska CLR w wersji 2.0.
Uwagi
Użyj metody ObjectHandle.Unwrap, aby odpakować wartość zwracaną.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez wywoływane metody, zobacz sekcję Wyjątki metod Assembly.LoadFrom i CreateInstance.