次の方法で共有


Activator.CreateInstance メソッド

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

オーバーロードの一覧

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Shared Function CreateInstance(Type) As Object

[C#] public static object CreateInstance(Type);

[C++] public: static Object* CreateInstance(Type*);

[JScript] public static function CreateInstance(Type) : Object;

名前を指定したアセンブリと、既定のコンストラクタを使用して、名前を指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(String, String) As ObjectHandle

[C#] public static ObjectHandle CreateInstance(string, string);

[C++] public: static ObjectHandle* CreateInstance(String*, String*);

[JScript] public static function CreateInstance(String, String) : ObjectHandle;

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(Type, Boolean) As Object

[C#] public static object CreateInstance(Type, bool);

[C++] public: static Object* CreateInstance(Type*, bool);

[JScript] public static function CreateInstance(Type, Boolean) : Object;

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(Type, Object()) As Object

[C#] public static object CreateInstance(Type, object[]);

[C++] public: static Object* CreateInstance(Type*, Object[]);

[JScript] public static function CreateInstance(Type, Object[]) : Object;

名前を指定したアセンブリと、既定のコンストラクタを使用して、名前を指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(String, String, Object()) As ObjectHandle

[C#] public static ObjectHandle CreateInstance(string, string, object[]);

[C++] public: static ObjectHandle* CreateInstance(String*, String*, Object[]);

[JScript] public static function CreateInstance(String, String, Object[]) : ObjectHandle;

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(Type, Object(), Object()) As Object

[C#] public static object CreateInstance(Type, object[], object[]);

[C++] public: static Object* CreateInstance(Type*, Object[], Object[]);

[JScript] public static function CreateInstance(Type, Object[], Object[]) : Object;

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(Type, BindingFlags, Binder, Object(), CultureInfo) As Object

[C#] public static object CreateInstance(Type, BindingFlags, Binder, object[], CultureInfo);

[C++] public: static Object* CreateInstance(Type*, BindingFlags, Binder*, Object[], CultureInfo*);

[JScript] public static function CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) : Object;

指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(Type, BindingFlags, Binder, Object(), CultureInfo, Object()) As Object

[C#] public static object CreateInstance(Type, BindingFlags, Binder, object[], CultureInfo, object[]);

[C++] public: static Object* CreateInstance(Type*, BindingFlags, Binder*, Object[], CultureInfo*, Object[]);

[JScript] public static function CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) : Object;

名前を指定したアセンブリと、指定したパラメータに最も一致するコンストラクタを使用して、名前を指定した型のインスタンスを作成します。

[Visual Basic] Overloads Public Shared Function CreateInstance(String, String, Boolean, BindingFlags, Binder, Object(), CultureInfo, Object(), Evidence) As ObjectHandle

[C#] public static ObjectHandle CreateInstance(string, string, bool, BindingFlags, Binder, object[], CultureInfo, object[], Evidence);

[C++] public: static ObjectHandle* CreateInstance(String*, String*, bool, BindingFlags, Binder*, Object[], CultureInfo*, Object[], Evidence*);

[JScript] public static function CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) : ObjectHandle;

使用例

[Visual Basic, C#, JScript] CreateInstance メソッドのオーバーロードの例を次に示します。

[Visual Basic, C#, JScript] このコード例を実行するには、アセンブリの完全限定名を指定する必要があります。アセンブリの完全限定名を取得する方法については、「 アセンブリ名 」を参照してください。

[Visual Basic, C#, JScript] メモ   ここでは、CreateInstance のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
Dim hdlSample As ObjectHandle
Dim myExtenderInterface As IMyExtenderInterface
Dim argOne As String = "Value of argOne"
Dim argTwo As Integer = 7
Dim args As Object() =  {argOne, argTwo}
' Uses the UrlAttribute to create a remote object.
Dim activationAttributes() = {New UrlAttribute("https://localhost:9000/MySampleService")}
' Activates an object for this client.
' You must supply a valid fully qualified assembly name here.
hdlSample = Activator.CreateInstance("Assembly text name, Version, Culture, PublicKeyToken", "samplenamespace.sampleclass", True, BindingFlags.Instance Or BindingFlags.Public, Nothing, args, Nothing, activationAttributes, Nothing)
myExtenderInterface = CType(hdlSample.Unwrap(), IMyExtenderInterface)
Console.WriteLine(myExtenderInterface.SampleMethod("Bill"))

[C#] 
ObjectHandle            hdlSample;
IMyExtenderInterface    myExtenderInterface;
string                  argOne = "Value of argOne";
int                     argTwo = 7;
object[]                args = {argOne, argTwo};
// Uses the UrlAttribute to create a remote object.
object[]                activationAttributes = {new UrlAttribute("https://localhost:9000/MySampleService")};
// Activates an object for this client.
// You must supply a valid fully qualified assembly name here. 
hdlSample = Activator.CreateInstance("Assembly text name, Version, Culture, PublicKeyToken",
                                     "samplenamespace.sampleclass", 
                                     true,
                                     BindingFlags.Instance|BindingFlags.Public,
                                     null,
                                     args,
                                     null,
                                     activationAttributes,
                                     null);
myExtenderInterface = (IMyExtenderInterface)hdlSample.Unwrap();
Console.WriteLine(myExtenderInterface.SampleMethod("Bill"));

[JScript] 
var hdlSample : ObjectHandle;
var myExtenderInterface : IMyExtenderInterface;
var argOne : String = "Value of argOne";
var argTwo : int = 7;
var args : Object[] = [argOne, argTwo];

// Uses the UrlAttribute to create a remote object.
var activationAttributes : Object[] = [new UrlAttribute("https://localhost:9000/MySampleService")];

// Activates an object for this client.
// You must supply a valid fully qualified assembly name here. 
hdlSample = Activator.CreateInstance("Assembly text name, Version, Culture, PublicKeyToken",
                                     "samplenamespace.sampleclass", 
                                     true,
                                     BindingFlags.Instance|BindingFlags.Public,
                                     null,
                                     args,
                                     null,
                                     activationAttributes,
                                     null);
myExtenderInterface = IMyExtenderInterface(hdlSample.Unwrap());
Console.WriteLine(myExtenderInterface.SampleMethod("Bill"));

[C++] C++ のサンプルはありません。Visual Basic、C#、および JScript のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Activator クラス | Activator メンバ | System 名前空間