Activator.CreateComInstanceFrom 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立已具有指定名稱之 COM 物件的執行個體。
多載
CreateComInstanceFrom(String, String) |
使用具名組件檔案和無參數建構函式,建立具有已指定名稱的 COM 物件執行個體。 |
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
使用具名組件檔案和無參數建構函式,建立具有已指定名稱的 COM 物件執行個體。 |
CreateComInstanceFrom(String, String)
使用具名組件檔案和無參數建構函式,建立具有已指定名稱的 COM 物件執行個體。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName);
static member CreateComInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String) As ObjectHandle
參數
- assemblyName
- String
檔案的名稱,該檔案包含要在其中搜尋名稱為 typeName
之類型的組件。
- typeName
- String
要建立執行個體的型別名稱。
傳回
必須解除包裝才能存取新建立之物件的控制碼,或 null
實例 Nullable<T> 的控制碼。
例外狀況
typeName
或 assemblyName
為 null
。
找不到相符的建構函式。
找不到 assemblyName
,或您想載入的模組並未指定檔案的副檔名。
呼叫者無法提供非繼承自 MarshalByRefObject 之物件的啟動屬性。
assemblyName
為空字串 ("")。
備註
ObjectHandle.Unwrap使用 方法解除包裝傳回值。
System.Runtime.InteropServices.ComVisibleAttribute具有 值 true
的屬性必須明確或預設套用至 COM 類型,以便 CreateComInstanceFrom 方法可以建立該類型的實例;否則 TypeLoadException 會擲回。
如需可透過叫用方法擲回之其他例外狀況的相關資訊,請參閱 和 CreateInstance 方法的 Assembly.LoadFrom Exceptions 一節。
注意
從 .NET Framework 2.0 開始,如果呼叫端已使用 旗標授 ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess 與呼叫端,而且包含非公用類型的元件授與集限制為呼叫端的授與集或子集,則這個方法可用來建立非公用類型。 (請參閱 Reflection.) 的安全性考慮若要使用這項功能,您的應用程式應以 3.5 或更新版本為目標.NET Framework。
適用於
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)
使用具名組件檔案和無參數建構函式,建立具有已指定名稱的 COM 物件執行個體。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member CreateComInstanceFrom : string * string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As ObjectHandle
參數
- assemblyName
- String
檔案的名稱,該檔案包含要在其中搜尋名稱為 typeName
之類型的組件。
- typeName
- String
要建立執行個體的型別名稱。
- hashValue
- Byte[]
計算的雜湊碼值。
- hashAlgorithm
- AssemblyHashAlgorithm
雜湊演算法,用於雜湊檔案並產生強式名稱 (Strong Name)。
傳回
必須解除包裝才能存取新建立之物件的控制碼,或 null
實例 Nullable<T> 的控制碼。
例外狀況
typeName
或 assemblyName
為 null
。
assemblyName
為空字串 ("")。
找不到 assemblyName
,或您想載入的模組並未指定檔案的副檔名。
找到 assemblyName
,但無法載入。
assemblyName
不是有效的組件。
指定了並非以 "file://" 開頭的程式碼基底,且沒有必要的 WebPermission
。
找不到相符的建構函式。
呼叫者無法提供非繼承自 MarshalByRefObject 之物件的啟動屬性。
備註
ObjectHandle.Unwrap使用 方法解除包裝傳回值。
System.Runtime.InteropServices.ComVisibleAttribute具有 值 true
的屬性必須明確或預設套用至 COM 類型,以便 CreateComInstanceFrom 方法可以建立該類型的實例;否則 TypeLoadException 會擲回。
如需可透過叫用方法擲回之其他例外狀況的相關資訊,請參閱 和 CreateInstance 方法的 Assembly.LoadFrom Exceptions 一節。
注意
從 .NET Framework 2.0 開始,如果呼叫端已使用 旗標授 ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess 與呼叫端,而且包含非公用類型的元件授與集限制為呼叫端的授與集或子集,則這個方法可用來建立非公用類型。 (請參閱 Reflection.) 的安全性考慮若要使用這項功能,您的應用程式應以 3.5 或更新版本為目標.NET Framework。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應