AppDomain.CreateInstance 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立指定元件中定義之指定型別的新實例。
多載
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
參數
傳回
物件,為 typeName
所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。
實作
例外狀況
在卸除的應用程式域上嘗試作業。
assemblyName
或 typeName
null
。
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
參數
- activationAttributes
- Object[]
一或多個可以參與啟用的屬性陣列。 一般而言,包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。
此參數與客戶端啟動的物件相關。用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。
傳回
物件,為 typeName
所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。
實作
例外狀況
在卸除的應用程式域上嘗試作業。
assemblyName
或 typeName
null
。
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
參數
- ignoreCase
- Boolean
布爾值,指定是否要執行區分大小寫的搜尋。
- bindingAttr
- BindingFlags
零個或多個位旗標的組合,會影響搜尋 typeName
建構函式。 如果 bindingAttr
為零,則會對公用建構函式進行區分大小寫的搜尋。
- binder
- Binder
物件,可讓您使用反映來系結、強制自變數類型、叫用成員,以及擷取 MemberInfo 物件。 如果 binder
為 null,則會使用預設系結器。
- args
- Object[]
要傳遞至建構函式的自變數。 這個自變數陣列必須以數位、順序和輸入要叫用之建構函式的參數相符。 如果慣用無參數建構函式,args
必須是空陣列或 null。
- culture
- CultureInfo
針對 typeName
建構函式所宣告之 args
強制型別的文化特性特定資訊。 如果 culture
null
,則會使用目前線程的 CultureInfo。
- activationAttributes
- Object[]
一或多個可以參與啟用的屬性陣列。 一般而言,包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。
此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。
傳回
物件,為 typeName
所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。
例外狀況
在卸除的應用程式域上嘗試作業。
assemblyName
或 typeName
null
。
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.
建立指定元件中定義之指定型別的新實例。 參數會指定系結器、系結旗標、建構函式自變數、文化特性特定資訊,用來解譯自變數、啟用屬性,以及建立類型的授權。
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
參數
- ignoreCase
- Boolean
布爾值,指定是否要執行區分大小寫的搜尋。
- bindingAttr
- BindingFlags
零個或多個位旗標的組合,會影響搜尋 typeName
建構函式。 如果 bindingAttr
為零,則會對公用建構函式進行區分大小寫的搜尋。
- binder
- Binder
物件,可讓您使用反映來系結、強制自變數類型、叫用成員,以及擷取 MemberInfo 物件。 如果 binder
為 null,則會使用預設系結器。
- args
- Object[]
要傳遞至建構函式的自變數。 這個自變數陣列必須以數位、順序和輸入要叫用之建構函式的參數相符。 如果慣用無參數建構函式,args
必須是空陣列或 null。
- culture
- CultureInfo
針對 typeName
建構函式所宣告之 args
強制型別的文化特性特定資訊。 如果 culture
null
,則會使用目前線程的 CultureInfo。
- activationAttributes
- Object[]
一或多個可以參與啟用的屬性陣列。 一般而言,包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。
此參數與客戶端啟動的物件相關。用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。
- securityAttributes
- Evidence
用來授權建立 typeName
的資訊。
傳回
物件,為 typeName
所指定之新實例的包裝函式。 傳回值必須解除包裝,才能存取實際物件。
實作
- 屬性
例外狀況
在卸除的應用程式域上嘗試作業。
assemblyName
或 typeName
null
。
assemblyName
目前載入的運行時間不是有效的元件。
元件或模組已載入兩次,並具有兩個不同的辨識項。
找不到 assemblyName
。
呼叫端沒有呼叫這個建構函式的許可權。
找不到相符的建構函式。
呼叫端無法為未繼承自 MarshalByRefObject的物件提供啟用屬性。
-或-
securityAttributes
不是 null
。 未啟用舊版 CAS 原則時,應 securityAttributes
null
assemblyName
中找不到 typeName
。
這個實體 null
。
備註
如需 assemblyName
的格式,請參閱 AssemblyName。
嘗試在不是目前應用程式域的目標應用程式域上呼叫 CreateInstance,將導致目標應用程式域中元件成功載入。 由於 Assembly 未 MarshalByRefObject,因此當此方法嘗試將載入的元件 Assembly 傳回目前應用程式域時,Common Language Runtime 會嘗試將元件載入目前的應用程式域,而且載入可能會失敗。 如果兩個應用程式域的路徑設定不同,載入至目前應用程式域的元件可能與第一個載入的元件不同。