Activator クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<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

System.Activator


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

- Activator クラスのページへのリンク