共用方式為


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)
已淘汰.

建立指定元件中定義之指定型別的新實例。 參數會指定系結器、系結旗標、建構函式自變數、文化特性特定資訊,用來解譯自變數、啟用屬性,以及建立類型的授權。

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,將導致目標應用程式域中元件成功載入。 由於 AssemblyMarshalByRefObject,因此當此方法嘗試將載入的元件 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。

此參數與客戶端啟動的物件相關。用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

物件,為 typeName所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。

實作

例外狀況

在卸除的應用程式域上嘗試作業。

assemblyNametypeNamenull

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

元件或模組已載入兩次,並具有兩個不同的辨識項。

找不到 assemblyName

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

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

呼叫端無法為未繼承自 MarshalByRefObject的物件提供啟用屬性。

assemblyName中找不到 typeName

這個實體 null

備註

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

如需 assemblyName的格式,請參閱 AssemblyName

嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance,將導致目標應用程式域中元件成功載入。 由於 AssemblyMarshalByRefObject,因此當此方法嘗試將載入的元件 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

針對 typeName 建構函式所宣告之 args 強制型別的文化特性特定資訊。 如果 culturenull,則會使用目前線程的 CultureInfo

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 一般而言,包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

物件,為 typeName所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。

例外狀況

在卸除的應用程式域上嘗試作業。

assemblyNametypeNamenull

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

元件或模組已載入兩次,並具有兩個不同的辨識項。

找不到 assemblyName

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

找不到相符的建構函式。

呼叫端無法為未繼承自 MarshalByRefObject的物件提供啟用屬性。

assemblyName中找不到 typeName

這個實體 null

備註

如需 assemblyName的格式,請參閱 AssemblyName

嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance,將導致目標應用程式域中元件成功載入。 由於 AssemblyMarshalByRefObject,因此當此方法嘗試將載入的元件 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.

建立指定元件中定義之指定型別的新實例。 參數會指定系結器、系結旗標、建構函式自變數、文化特性特定資訊,用來解譯自變數、啟用屬性,以及建立類型的授權。

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

針對 typeName 建構函式所宣告之 args 強制型別的文化特性特定資訊。 如果 culturenull,則會使用目前線程的 CultureInfo

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 一般而言,包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

securityAttributes
Evidence

用來授權建立 typeName的資訊。

傳回

物件,為 typeName所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。

實作

屬性

例外狀況

在卸除的應用程式域上嘗試作業。

assemblyNametypeNamenull

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

元件或模組已載入兩次,並具有兩個不同的辨識項。

找不到 assemblyName

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

找不到相符的建構函式。

呼叫端無法為未繼承自 MarshalByRefObject的物件提供啟用屬性。

-或-

securityAttributes 不是 null。 未啟用舊版 CAS 原則時,應 securityAttributesnull

assemblyName中找不到 typeName

這個實體 null

備註

如需 assemblyName的格式,請參閱 AssemblyName

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

另請參閱

適用於