構文<ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.None)> _ Public NotInheritable Class Activator Implements _Activator
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.None)] public sealed class Activator : _Activator
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType::None)] public ref class Activator sealed : _Activator
解説CreateInstance メソッドは、指定した引数に最も一致するコンストラクタを呼び出して、アセンブリで定義された型のインスタンスを作成します。引数を指定しなかった場合は、パラメータをとらないコンストラクタ、つまり既定のコンストラクタが呼び出されます。
コンストラクタを検索したり呼び出したりするための十分なアクセス許可を持っている必要があります。十分なアクセス許可がない場合は、例外がスローされます。既定では、コンストラクタの検索では、パブリック コンストラクタだけが検索の対象になります。一致するコンストラクタも既定のコンストラクタも見つからない場合は、例外がスローされます。
バインダ パラメータは、アセンブリで適切なコンストラクタを検索するオブジェクトを指定します。独自のバインダおよび検索条件を指定できますが、バインダを指定しなかった場合は、既定のバインダが使用されます。詳細については、System.Reflection.Binder クラスと System.Reflection.BindingFlags クラスの各トピックを参照してください。
証拠パラメータは、コンストラクタのセキュリティ ポリシーとアクセス許可に影響を与えます。詳細については、System.Security.Policy.Evidence クラスのトピックを参照してください。
型のインスタンスは、ローカル サイトまたはリモート サイトで作成できます。型をリモート サイトで作成する場合、アクティベーション属性パラメータではそのリモート サイトの URI を指定します。リモート サイトに到達する前に、インスタンスを作成するための呼び出しは中間サイトを通過することがあります。その他のアクティベーション属性は、リモート サイトと中間サイトで呼び出しが動作する環境 (コンテキスト) を変更できます。
インスタンスをローカル サイトで作成した場合は、そのオブジェクトへの参照が返されます。インスタンスをリモート サイトで作成した場合は、プロキシへの参照が返されます。リモート オブジェクトは、ローカル オブジェクトであるかのように、プロキシを通じて操作されます。
GetObject メソッドは、現在実行しているリモート オブジェクト、サーバー側でアクティブ化される既知のオブジェクト、または XML Web サービスに対してプロキシを作成します。接続メディア、つまりチャネルを指定できます。詳細については、System.Runtime.Remoting.Channels.ChannelServices クラスのトピックを参照してください。
アセンブリは、型定義を格納します。CreateInstance メソッドは、現在実行しているアセンブリから型のインスタンスを作成します。CreateInstanceFrom メソッドは、アセンブリを格納しているファイルからインスタンスを作成します。CreateComInstanceFrom メソッドは、アセンブリを格納しているファイルから COM オブジェクトのインスタンスを作成します。
サーバー側でアクティブ化されるオブジェクトとクライアント側でアクティブ化されるオブジェクトの詳細については、「サーバー アクティベーション」を参照してください。
使用例Activator クラスを使用して、実行時に動的にオブジェクトを作成するコード例を次に示します。
Imports System.Reflection Imports System.Text Module Module1 Sub Main() ' Create an instance of the StringBuilder type using Activator.CreateInstance. Dim o As Object = Activator.CreateInstance(GetType(StringBuilder)) ' Append a string into the StringBuilder object and display the StringBuilder. Dim sb As StringBuilder = CType(o, StringBuilder) sb.Append("Hello, there.") Console.WriteLine(sb) ' Create an instance of the SomeType class that is defined in this assembly. Dim oh As Runtime.Remoting.ObjectHandle = _ Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, GetType(SomeType).FullName) ' Call an instance method defined by the SomeType type using this object. Dim st As SomeType = CType(oh.Unwrap, SomeType) st.DoSomething(5) End Sub Class SomeType Public Sub DoSomething(ByVal x As Int32) Console.WriteLine("100 / {0} = {1}", x, 100 \ x) End Sub End Class End Module ' This code produces the following output. ' ' Hello, there. ' 100 / 5 = 20
継承階層
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| CreateComInstanceFrom | オーバーロードされます。 名前を指定した COM オブジェクトのインスタンスを作成します。 |
| CreateInstance | オーバーロードされます。 指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。 |
| CreateInstanceFrom | オーバーロードされます。 名前を指定したアセンブリ ファイルと、指定したパラメータに最も一致するコンストラクタを使用して、名前を指定した型のインスタンスを作成します。 |
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
| GetObject | オーバーロードされます。 現在実行しているリモート オブジェクト、サーバー側でアクティブ化される既知のオブジェクト、または XML Web サービスに対して、プロキシを作成します。 |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
明示的インターフェイスの実装| 名前 | 説明 | |
|---|---|---|
| System.Runtime.InteropServices._Activator.GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
| System.Runtime.InteropServices._Activator.GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
| System.Runtime.InteropServices._Activator.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
| System.Runtime.InteropServices._Activator.Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
参照オブジェクトの型をローカル サイトまたはリモート サイトに作成するメソッド、または既存のリモート オブジェクトへの参照を取得するメソッドを保持します。このクラスは継承できません。
Activator データ型で公開されるメンバを以下の表に示します。
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| CreateComInstanceFrom | オーバーロードされます。 名前を指定した COM オブジェクトのインスタンスを作成します。 |
| CreateInstance | オーバーロードされます。 指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。 |
| CreateInstanceFrom | オーバーロードされます。 名前を指定したアセンブリ ファイルと、指定したパラメータに最も一致するコンストラクタを使用して、名前を指定した型のインスタンスを作成します。 |
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
| GetObject | オーバーロードされます。 現在実行しているリモート オブジェクト、サーバー側でアクティブ化される既知のオブジェクト、または XML Web サービスに対して、プロキシを作成します。 |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
明示的インターフェイスの実装| 名前 | 説明 | |
|---|---|---|
| System.Runtime.InteropServices._Activator.GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
| System.Runtime.InteropServices._Activator.GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
| System.Runtime.InteropServices._Activator.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
| System.Runtime.InteropServices._Activator.Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
参照
構文<GuidAttribute("03973551-57A1-3900-A2B5-9083E3FF2943")> _ <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _ <CLSCompliantAttribute(False)> _ <ComVisibleAttribute(True)> _ Public Interface _Activator
[GuidAttribute("03973551-57A1-3900-A2B5-9083E3FF2943")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public interface _Activator
[GuidAttribute(L"03973551-57A1-3900-A2B5-9083E3FF2943")] [InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)] [CLSCompliantAttribute(false)] [ComVisibleAttribute(true)] public interface class _Activator
解説
プラットフォーム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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
| GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
| GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
| Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
参照System.Activator クラスをアンマネージ コードに公開します。
_Activator データ型で公開されるメンバを以下の表に示します。
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
| GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
| GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
| Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
参照| 酵素タンパク質モチーフなど: | アイソザイム アクチニン アクチビン アクチベーター アクチン アクチンケーブル アクチンストレスファイバー |