AppDomain.CreateInstance 方法

定義

建立在指定組件中所定義之指定類型的新執行個體。

多載

CreateInstance(String, String)

建立指定組件中所定義之指定類型的新執行個體。

CreateInstance(String, String, Object[])

建立指定組件中所定義之指定類型的新執行個體。 參數會指定啟動屬性的陣列。

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

建立指定組件中所定義之指定類型的新執行個體。 參數會指定繫結器、繫結旗標、建構函式引數、用來解譯引數的特定文化特性資訊,以及選擇性的啟動屬性。

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
已淘汰.

建立指定組件中所定義之指定類型的新執行個體。 參數會指定繫結器 (Binder)、繫結旗標、建構函式引數、用來解譯引數的特定文化特性資訊、啟動屬性,以及建立類型的授權。

CreateInstance(String, String)

來源:
AppDomain.cs
來源:
AppDomain.cs
來源:
AppDomain.cs

建立指定組件中所定義之指定類型的新執行個體。

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

參數

assemblyName
String

組件的顯示名稱。 請參閱 FullName

typeName
String

FullName 屬性傳回的要求類型之完整名稱 (包括命名空間,但不包括組件)。

傳回

物件,是 typeName 所指定的新執行個體之包裝函式。 傳回值需要解除包裝以存取實際物件。

實作

例外狀況

嘗試對卸載的應用程式定義域執行作業。

assemblyNametypeNamenull

assemblyName 不是目前載入運行時間的有效元件。

使用兩個不同的辨識項載入組件或模組兩次。

找不到 assemblyName

呼叫端沒有呼叫這個建構函式的權限。

找不到相符的公用建構函式。

assemblyName 中找不到 typename

這個執行個體是 null

備註

這個方法會呼叫的 typeName無參數建構函式。

如需的格式,assemblyName請參閱 AssemblyName

嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance ,將會導致在目標應用程式域中成功載入元件。 Assembly因為 不是因為 不是因為不是 MarshalByRefObject,當這個方法嘗試將載入的元件傳回Assembly目前應用程式域時,Common Language Runtime 會嘗試將元件載入目前的應用程式域,而載入可能會失敗。 如果兩個應用程式域的路徑設定不同,載入目前應用程式域的元件可能與第一個載入的元件不同。

另請參閱

適用於

CreateInstance(String, String, Object[])

來源:
AppDomain.cs
來源:
AppDomain.cs
來源:
AppDomain.cs

建立指定組件中所定義之指定類型的新執行個體。 參數會指定啟動屬性的陣列。

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

參數

assemblyName
String

組件的顯示名稱。 請參閱 FullName

typeName
String

FullName 屬性傳回的要求類型之完整名稱 (包括命名空間,但不包括組件)。

activationAttributes
Object[]

一或多個屬性的陣列,此屬性可參與啟動過程。 陣列通常只會包含一個 UrlAttribute 物件來指定用以啟動遠端物件的 URL。

此參數與 client-activated 物件有關。用戶端啟動是一項舊的技術,保留目的在提供回溯相容性,不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

物件,是 typeName 所指定的新執行個體之包裝函式。 傳回值需要解除包裝以存取實際物件。

實作

例外狀況

嘗試對卸載的應用程式定義域執行作業。

assemblyNametypeNamenull

assemblyName 不是目前載入運行時間的有效元件。

使用兩個不同的辨識項載入組件或模組兩次。

找不到 assemblyName

呼叫端沒有呼叫這個建構函式的權限。

找不到相符的公用建構函式。

呼叫者無法提供非繼承自 MarshalByRefObject 之物件的啟動屬性。

assemblyName 中找不到 typename

這個執行個體是 null

備註

這個方法會呼叫的 typeName無參數建構函式。

如需的格式,assemblyName請參閱 AssemblyName

嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance ,將會導致在目標應用程式域中成功載入元件。 Assembly因為 不是因為 不是因為不是 MarshalByRefObject,當這個方法嘗試將載入的元件傳回Assembly目前應用程式域時,Common Language Runtime 會嘗試將元件載入目前的應用程式域,而載入可能會失敗。 如果兩個應用程式域的路徑設定不同,載入目前應用程式域的元件可能與第一個載入的元件不同。

另請參閱

適用於

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

來源:
AppDomain.cs
來源:
AppDomain.cs
來源:
AppDomain.cs

建立指定組件中所定義之指定類型的新執行個體。 參數會指定繫結器、繫結旗標、建構函式引數、用來解譯引數的特定文化特性資訊,以及選擇性的啟動屬性。

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

參數

assemblyName
String

組件的顯示名稱。 請參閱 FullName

typeName
String

FullName 屬性傳回的要求類型之完整名稱 (包括命名空間,但不包括組件)。

ignoreCase
Boolean

布林值,指出是否執行區分大小寫的搜尋。

bindingAttr
BindingFlags

零或多個位元旗標的組合,此位元旗標會影響 typeName 建構函式的搜尋。 如果 bindingAttr 為零,則會針對公用建構函式執行區分大小寫的搜尋。

binder
Binder

使用反映來啟用繫結、強制引數的類型、成員的引動過程,和擷取 MemberInfo 物件的物件。 如果 binder 為 null,則會使用預設繫結器。

args
Object[]

要傳遞到建構函式的引數。 這個引數陣列必須在數目、順序和類型上符合要叫用之建構函式的參數。 如果慣用無參數建構函式,則 args 必須是空陣列或 Null。

culture
CultureInfo

特定文化特性的資訊,其可控制 args 到型式類型 (為 typeName 建構函式宣告) 的強制轉型。 如果 culturenull,會使用目前執行緒的 CultureInfo

activationAttributes
Object[]

一或多個屬性的陣列,此屬性可參與啟動過程。 陣列通常只會包含一個 UrlAttribute 物件來指定用以啟動遠端物件的 URL。

此參數與啟動了用戶端的物件相關。 用戶端啟動是一項舊的技術,保留目的在提供回溯相容性,不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

物件,是 typeName 所指定的新執行個體之包裝函式。 傳回值需要解除包裝以存取實際物件。

例外狀況

嘗試對卸載的應用程式定義域執行作業。

assemblyNametypeNamenull

assemblyName 不是目前載入運行時間的有效元件。

使用兩個不同的辨識項載入組件或模組兩次。

找不到 assemblyName

呼叫端沒有呼叫這個建構函式的權限。

找不到相符的建構函式。

呼叫者無法提供非繼承自 MarshalByRefObject 之物件的啟動屬性。

assemblyName 中找不到 typename

這個執行個體是 null

備註

如需的格式,assemblyName請參閱 AssemblyName

嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance ,將會導致在目標應用程式域中成功載入元件。 Assembly因為 不是因為 不是因為不是 MarshalByRefObject,當這個方法嘗試將載入的元件傳回Assembly目前應用程式域時,Common Language Runtime 會嘗試將元件載入目前的應用程式域,而載入可能會失敗。 如果兩個應用程式域的路徑設定不同,載入目前應用程式域的元件可能與第一個載入的元件不同。

另請參閱

適用於

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

警告

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.

建立指定組件中所定義之指定類型的新執行個體。 參數會指定繫結器 (Binder)、繫結旗標、建構函式引數、用來解譯引數的特定文化特性資訊、啟動屬性,以及建立類型的授權。

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

參數

assemblyName
String

組件的顯示名稱。 請參閱 FullName

typeName
String

FullName 屬性傳回的要求類型之完整名稱 (包括命名空間,但不包括組件)。

ignoreCase
Boolean

布林值,指出是否執行區分大小寫的搜尋。

bindingAttr
BindingFlags

零或多個位元旗標的組合,此位元旗標會影響 typeName 建構函式的搜尋。 如果 bindingAttr 為零,則會針對公用建構函式執行區分大小寫的搜尋。

binder
Binder

使用反映來啟用繫結、強制引數的類型、成員的引動過程,和擷取 MemberInfo 物件的物件。 如果 binder 為 null,則會使用預設繫結器。

args
Object[]

要傳遞到建構函式的引數。 這個引數陣列必須在數目、順序和類型上符合要叫用之建構函式的參數。 如果慣用無參數建構函式,則 args 必須是空陣列或 Null。

culture
CultureInfo

特定文化特性的資訊,其可控制 args 到型式類型 (為 typeName 建構函式宣告) 的強制轉型。 如果 culturenull,會使用目前執行緒的 CultureInfo

activationAttributes
Object[]

一或多個屬性的陣列,此屬性可參與啟動過程。 陣列通常只會包含一個 UrlAttribute 物件來指定用以啟動遠端物件的 URL。

此參數與 client-activated 物件有關。用戶端啟動是一項舊的技術,保留目的在提供回溯相容性,不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

securityAttributes
Evidence

用來授權建立 typeName 的資訊。

傳回

物件,是 typeName 所指定的新執行個體之包裝函式。 傳回值需要解除包裝以存取實際物件。

實作

屬性

例外狀況

嘗試對卸載的應用程式定義域執行作業。

assemblyNametypeNamenull

assemblyName 不是目前載入運行時間的有效元件。

使用兩個不同的辨識項載入組件或模組兩次。

找不到 assemblyName

呼叫端沒有呼叫這個建構函式的權限。

找不到相符的建構函式。

呼叫者無法提供非繼承自 MarshalByRefObject 之物件的啟動屬性。

-或-

securityAttributes 不是 null。 若未啟用舊版 CAS 原則, securityAttributes 應為 null

assemblyName 中找不到 typename

這個執行個體是 null

備註

如需的格式,assemblyName請參閱 AssemblyName

嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance ,將會導致在目標應用程式域中成功載入元件。 Assembly因為 不是因為 ,MarshalByRefObject所以當這個方法嘗試將載入的元件傳回Assembly目前應用程式域時,Common Language Runtime 會嘗試將元件載入目前的應用程式域,而且載入可能會失敗。 如果兩個應用程式域的路徑設定不同,載入至目前應用程式域的元件可能會與先載入的元件不同。

另請參閱

適用於