Activator.CreateComInstanceFrom メソッド (String, String, Byte , AssemblyHashAlgorithm)
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
名前を指定したアセンブリ ファイルと、既定のコンストラクタを使用して、名前を指定した COM オブジェクトのインスタンスを作成します。
Overloads Public Shared Function CreateComInstanceFrom( _
ByVal assemblyName As String, _ ByVal typeName As String, _ ByVal hashValue() As Byte, _ ByVal hashAlgorithm As AssemblyHashAlgorithm _) As ObjectHandle
[C#]
public static ObjectHandle CreateComInstanceFrom(stringassemblyName,stringtypeName,byte[] hashValue,AssemblyHashAlgorithmhashAlgorithm);
[C++]
public: static ObjectHandle* CreateComInstanceFrom(String* assemblyName,String* typeName,unsigned charhashValue __gc[],AssemblyHashAlgorithmhashAlgorithm);
[JScript]
public static function CreateComInstanceFrom(
assemblyName : String,typeName : String,hashValue : Byte[],hashAlgorithm : AssemblyHashAlgorithm) : ObjectHandle;
パラメータ
- assemblyName
typeName という名前の型をシークする場所となるアセンブリが含まれているファイルの名前。 - typeName
推奨される型の名前。 - hashValue
計算されたハッシュ コードの値。 - hashAlgorithm
ファイルのハッシュ処理および厳密な名前の生成に使用されるハッシュ アルゴリズム。
戻り値
新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | typeName または assemblyName が null 参照 (Visual Basic では Nothing) です。 |
ArgumentException | assemblyName が空の文字列 ("") です。 |
PathTooLongException | 1 つのアセンブリまたはモジュールが、2 つの異なる証拠で 2 回読み込まれました。または、アセンブリ名が MAX_PATH 文字数よりも長くなっています。 |
FileNotFoundException | assemblyName が見つかりません。または、読み込もうとしているモジュールのファイル名拡張子が指定されていません。 |
FileLoadException | assemblyName は見つかりましたが、読み込むことができません。 |
BadImageFormatException | assemblyName が有効なアセンブリではありません。 |
SecurityException | "file://" 以外で始まるコードベースが指定されましたが、必要な WebPermission がありません。 |
TypeLoadException | インスタンスを COM によって作成することはできません。
または assemblyName で、 typename が見つかりませんでした。 |
MissingMethodException | 一致するコンストラクタが見つかりませんでした。 |
MemberAccessException | 抽象クラスのインスタンスを作成できません。または、このメンバが遅延バインディングの機構を使用して呼び出されました。 |
解説
ObjectHandle.Unwrap メソッドを使用して戻り値のラップを解除します。
CreateComInstanceFrom メソッドで COM 型のインスタンスを作成するには、値を true に設定した System.Runtime.InteropServices.ComVisibleAttribute 属性をその COM 型に明示的にまたは既定で適用する必要があります。それ以外の場合は TypeLoadException がスローされます。
呼び出されたメソッドによってスローされる可能性があるその他の例外については、 Assembly.LoadFrom メソッドおよび CreateInstance メソッドの例外を参照してください。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングが呼び出されるときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
- FileIOPermission ("file://" で始まる URI を読み取るために必要なアクセス許可) FileIOPermissionAccess.Read (関連する列挙体)
- WebPermission ("file://" 以外で始まる URI を読み取るために必要なアクセス許可)
参照
Activator クラス | Activator メンバ | System 名前空間 | Activator.CreateComInstanceFrom オーバーロードの一覧