指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。
Overloads Public Shared Function CreateInstance( _
ByVal type As Type, _ ByVal args() As Object _) As Object
[C#]
public static object CreateInstance(Typetype,object[] args);
[C++]
public: static Object* CreateInstance(Type* type,Object* args __gc[]);
[JScript]
public static function CreateInstance(
type : Type,args : Object[]) : Object;
パラメータ
- type
作成するオブジェクトの型。 - args
呼び出すコンストラクタのパラメータと、数、順序、および型が一致する引数の配列。 args が空の配列または null 参照 (Visual Basic では Nothing) である場合は、パラメータをとらないコンストラクタ (既定のコンストラクタ) が呼び出されます。
戻り値
新しく作成されたオブジェクトへの参照。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | type が null 参照 (Visual Basic では Nothing) です。 |
ArgumentException | type が RuntimeType ではありません。 |
NotSupportedException | type には TypeBuilder は指定できません。
または TypedReference 型、ArgIterator 型、および RuntimeArgumentHandle 型の作成はサポートされていません。 |
TargetInvocationException | 呼び出されているコンストラクタが例外をスローしました。 |
MethodAccessException | 呼び出し元に、このコンストラクタを呼び出すためのアクセス許可がありません。 |
MemberAccessException | 抽象クラスのインスタンスを作成できません。または、このメンバが遅延バインディングの機構を使用して呼び出されました。 |
InvalidComObjectException | COM 型が GetTypeFromProgID または GetTypeFromCLSID を使用して取得されていません。 |
MissingMethodException | 一致するパブリック コンストラクタが見つかりませんでした。 |
COMException | type は COM オブジェクトですが、この型を取得するために使われたクラス ID が無効か、クラス ID が示すクラスが登録されていません。 |
TypeLoadException | type が有効な型ではありません。 |
解説
呼び出されるコンストラクタは、アクセスできる必要があり、指定した引数リストと最も的確に一致します。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- SecurityPermission (デリゲートのインスタンスの作成時にアンマネージ コードを呼び出すために必要なアクセス許可)SecurityPermissionFlag/UnmanagedCode (関連する列挙体)
- ReflectionPermission (すべての型のメンバに対して操作を呼び出すために必要なアクセス許可)ReflectionPermissionFlag/MemberAccess (関連する列挙体)
参照
Activator クラス | Activator メンバ | System 名前空間 | Activator.CreateInstance オーバーロードの一覧