指定したパラメータに最も一致するコンストラクタを使用して、指定した型のインスタンスを作成します。
Overloads Public Shared Function CreateInstance( _
ByVal type As Type, _ ByVal nonOverloads Public As Boolean _) As Object
[C#]
public static object CreateInstance(Typetype,boolnonPublic);
[C++]
public: static Object* CreateInstance(Type* type,boolnonPublic);
[JScript]
public static function CreateInstance(
type : Type,nonPublic : Boolean) : Object;
パラメータ
- type
作成するオブジェクトの型。 - nonPublic
パラメータを受け取らない一致するコンストラクタがパブリックか非パブリックのどちらでもよい場合は true 。それ以外の場合は、パブリック コンストラクタだけが一致します。
戻り値
新しく作成されたオブジェクトへの参照。
例外
例外の種類 | 条件 |
---|---|
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 オーバーロードの一覧