AppDomain.CreateComInstanceFrom メソッド (String, String)
アセンブリ: mscorlib (mscorlib.dll 内)

Public Function CreateComInstanceFrom ( _ assemblyName As String, _ typeName As String _ ) As ObjectHandle
Dim instance As AppDomain Dim assemblyName As String Dim typeName As String Dim returnValue As ObjectHandle returnValue = instance.CreateComInstanceFrom(assemblyName, typeName)
戻り値
typeName で指定した新しいインスタンスのラッパーであるオブジェクト。実際のオブジェクトにアクセスするには、戻り値のラップを解除する必要があります。

例外の種類 | 条件 |
---|---|
ArgumentNullException | assemblyName または typeName が null 参照 (Visual Basic では Nothing) です。 |
TypeLoadException | 型を読み込むことができません。 |
AppDomainUnloadedException | 操作が、アンロードされたアプリケーション ドメインで試行されています。 |
MissingMethodException | |
FileNotFoundException | assemblyName が見つかりません。 |
MemberAccessException | または |
NotSupportedException | MarshalByRefObject から継承されていないオブジェクトに対して、呼び出し元がアクティベーション属性を与えることはできません。 |
ArgumentException | assemblyName が空の文字列 ("") です。 |
BadImageFormatException | |
FileLoadException |

このメソッドを使用すると、型をローカルに読み込まなくても、オブジェクトをリモートで作成できます。
実際のオブジェクトにアクセスするには、戻り値のラップを解除する必要があります。
このメソッドで COM 型のインスタンスを作成するには、値を true に設定した System.Runtime.InteropServices.ComVisibleAttribute 属性をその COM 型に明示的にまたは既定で適用する必要があります。それ以外の場合は TypeLoadException がスローされます。

Imports System Imports System.Reflection Imports System.Runtime.InteropServices <ComVisible(True)> _ Class MyComVisibleType Public Sub New() Console.WriteLine("MyComVisibleType instantiated!") End Sub 'New End Class 'MyComVisibleType <ComVisible(False)> _ Class MyComNonVisibleType Public Sub New() Console.WriteLine("MyComNonVisibleType instantiated!") End Sub 'New End Class 'MyComNonVisibleType Module Test Sub Main() CreateComInstance("MyComNonVisibleType") ' Fail! CreateComInstance("MyComVisibleType") ' OK! End Sub 'Main Sub CreateComInstance(typeName As String) Try Dim currentDomain As AppDomain = AppDomain.CurrentDomain Dim assemblyName As String = currentDomain.FriendlyName currentDomain.CreateComInstanceFrom(assemblyName, typeName) Catch e As Exception Console.WriteLine(e.Message) End Try End Sub 'CreateComInstance End Module 'Test
using System; using System.Reflection; using System.Runtime.InteropServices; [ComVisible(true)] class MyComVisibleType { public MyComVisibleType() { Console.WriteLine("MyComVisibleType instantiated!"); } } [ComVisible(false)] class MyComNonVisibleType { public MyComNonVisibleType() { Console.WriteLine("MyComNonVisibleType instantiated!"); } } class Test { public static void Main() { CreateComInstance("MyComNonVisibleType"); // Fail! CreateComInstance("MyComVisibleType"); // OK! } static void CreateComInstance(string typeName) { try { AppDomain currentDomain = AppDomain.CurrentDomain; string assemblyName = currentDomain.FriendlyName; currentDomain.CreateComInstanceFrom(assemblyName, typeName); } catch (Exception e) { Console.WriteLine(e.Message); } } }
using namespace System; using namespace System::Reflection; using namespace System::Runtime::InteropServices; [ComVisible(true)] public ref class MyComVisibleType { public: MyComVisibleType() { Console::WriteLine( "MyComVisibleType instantiated!" ); } }; [ComVisible(false)] public ref class MyComNonVisibleType { public: MyComNonVisibleType() { Console::WriteLine( "MyComNonVisibleType instantiated!" ); } }; void CreateComInstance( String^ typeName ) { try { AppDomain^ currentDomain = AppDomain::CurrentDomain; String^ assemblyName = currentDomain->FriendlyName; currentDomain->CreateComInstanceFrom( assemblyName, typeName ); } catch ( Exception^ e ) { Console::WriteLine( e->Message ); } } int main() { CreateComInstance( "MyComNonVisibleType" ); // Fail! CreateComInstance( "MyComVisibleType" ); // OK! }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AppDomain.CreateComInstanceFrom メソッド (String, String, Byte[], AssemblyHashAlgorithm)
アセンブリ: mscorlib (mscorlib.dll 内)

Public Function CreateComInstanceFrom ( _ assemblyFile As String, _ typeName As String, _ hashValue As Byte(), _ hashAlgorithm As AssemblyHashAlgorithm _ ) As ObjectHandle
Dim instance As AppDomain Dim assemblyFile As String Dim typeName As String Dim hashValue As Byte() Dim hashAlgorithm As AssemblyHashAlgorithm Dim returnValue As ObjectHandle returnValue = instance.CreateComInstanceFrom(assemblyFile, typeName, hashValue, hashAlgorithm)
public ObjectHandle CreateComInstanceFrom ( string assemblyFile, string typeName, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm )
public: ObjectHandle^ CreateComInstanceFrom ( String^ assemblyFile, String^ typeName, array<unsigned char>^ hashValue, AssemblyHashAlgorithm hashAlgorithm )
public ObjectHandle CreateComInstanceFrom ( String assemblyFile, String typeName, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm )
public function CreateComInstanceFrom ( assemblyFile : String, typeName : String, hashValue : byte[], hashAlgorithm : AssemblyHashAlgorithm ) : ObjectHandle
- hashAlgorithm
typeName で指定した新しいインスタンスのラッパーであるオブジェクト。実際のオブジェクトにアクセスするには、戻り値のラップを解除する必要があります。

例外の種類 | 条件 |
---|---|
ArgumentNullException | assemblyName または typeName が null 参照 (Visual Basic では Nothing) です。 |
TypeLoadException | 型を読み込むことができません。 |
AppDomainUnloadedException | 操作が、アンロードされたアプリケーション ドメインで試行されています。 |
MissingMethodException | |
FileNotFoundException | assemblyFile が見つかりません。 |
MemberAccessException | または |
NotSupportedException | MarshalByRefObject から継承されていないオブジェクトに対して、呼び出し元がアクティベーション属性を与えることはできません。 |
ArgumentException | assemblyFile が空の文字列 ("") です。 |
BadImageFormatException | |
FileLoadException |

このメソッドを使用すると、型をローカルに読み込まなくても、オブジェクトをリモートで作成できます。
実際のオブジェクトにアクセスするには、戻り値のラップを解除する必要があります。
このメソッドで COM 型のインスタンスを作成するには、値を true に設定した System.Runtime.InteropServices.ComVisibleAttribute 属性をその COM 型に明示的にまたは既定で適用する必要があります。それ以外の場合は TypeLoadException がスローされます。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AppDomain.CreateComInstanceFrom メソッド

名前 | 説明 |
---|---|
AppDomain.CreateComInstanceFrom (String, String) | 指定した COM 型の新しいインスタンスを作成します。パラメータには、型を含んでいるアセンブリのファイルの名前および型の名前を指定します。 |
AppDomain.CreateComInstanceFrom (String, String, Byte[], AssemblyHashAlgorithm) | 指定した COM 型の新しいインスタンスを作成します。パラメータには、型を含んでいるアセンブリのファイルの名前および型の名前を指定します。 |

Weblioに収録されているすべての辞書からAppDomain.CreateComInstanceFromを検索する場合は、下記のリンクをクリックしてください。

- AppDomain.CreateComInstanceFromのページへのリンク