Activator.CreateComInstanceFrom メソッド

定義

名前が指定された 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

インスタンスを作成する型の名前。

戻り値

新しく作成されたオブジェクトにアクセスするためにラップ解除する必要があるハンドル、または Nullable<T> インスタンスの null

例外

typeName または assemblyNamenull

COM を使用してインスタンスを作成することはできません。

-又は-

typeNameassemblyNameで見つかりませんでした。

一致するコンストラクターが見つかりませんでした。

assemblyName が見つからないか、読み込もうとしているモジュールでファイル名拡張子が指定されていません。

抽象クラスのインスタンスを作成できません。

-又は-

このメンバーは、遅延バインディング メカニズムを使用して呼び出されました。

呼び出し元は、MarshalByRefObjectから継承しないオブジェクトのアクティブ化属性を指定できません。

assemblyName は空の文字列 ("") です。

注釈

戻り値のラップを解除するには、ObjectHandle.Unwrap メソッドを使用します。

CreateComInstanceFrom メソッドがその型のインスタンスを作成できるように、true の値を持つ System.Runtime.InteropServices.ComVisibleAttribute 属性を明示的に、または既定で COM 型に適用する必要があります。それ以外の場合は、TypeLoadException がスローされます。

呼び出されたメソッドによってスローされるその他の例外については、Assembly.LoadFrom メソッドと CreateInstance メソッドの例外に関するセクションを参照してください。

手記

.NET Framework 2.0 以降では、このメソッドを使用して、呼び出し元が ReflectionPermissionFlag.RestrictedMemberAccess フラグを持つ ReflectionPermission を許可されている場合、および非パブリック型を含むアセンブリの許可セットが呼び出し元の許可セットまたはそのサブセットに制限されている場合に、非パブリック型を作成できます。 (リフレクションセキュリティに関する考慮事項を参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

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

ファイルのハッシュと厳密な名前の生成に使用されるハッシュ アルゴリズム。

戻り値

新しく作成されたオブジェクトにアクセスするためにラップ解除する必要があるハンドル、または Nullable<T> インスタンスの null

例外

typeName または assemblyNamenull

assemblyName は空の文字列 ("") です。

アセンブリまたはモジュールが、2 つの異なる証拠と共に 2 回読み込まれました。

-又は-

assemblyName は、システム定義の最大長よりも長くなります。

assemblyName が見つからないか、読み込もうとしているモジュールでファイル名拡張子が指定されていません。

assemblyName が見つかりましたが、読み込めません。

assemblyName は有効なアセンブリではありません。

"file://" で始まらないコード ベースが、必要な WebPermissionなしで指定されました。

COM を使用してインスタンスを作成することはできません。

-又は-

typeNameassemblyNameで見つかりませんでした。

一致するコンストラクターが見つかりませんでした。

抽象クラスのインスタンスを作成できません。

-又は-

このメンバーは、遅延バインディング メカニズムを使用して呼び出されました。

呼び出し元は、MarshalByRefObjectから継承しないオブジェクトのアクティブ化属性を指定できません。

注釈

戻り値のラップを解除するには、ObjectHandle.Unwrap メソッドを使用します。

CreateComInstanceFrom メソッドがその型のインスタンスを作成できるように、true の値を持つ System.Runtime.InteropServices.ComVisibleAttribute 属性を明示的に、または既定で COM 型に適用する必要があります。それ以外の場合は、TypeLoadException がスローされます。

呼び出されたメソッドによってスローされるその他の例外については、Assembly.LoadFrom メソッドと CreateInstance メソッドの例外に関するセクションを参照してください。

手記

.NET Framework 2.0 以降では、このメソッドを使用して、呼び出し元が ReflectionPermissionFlag.RestrictedMemberAccess フラグを持つ ReflectionPermission を許可されている場合、および非パブリック型を含むアセンブリの許可セットが呼び出し元の許可セットまたはそのサブセットに制限されている場合に、非パブリック型を作成できます。 (リフレクションセキュリティに関する考慮事項を参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象