次の方法で共有


Activator.CreateInstance メソッド (Type, BindingFlags, Binder, Object , CultureInfo)

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

Overloads Public Shared Function CreateInstance( _
   ByVal type As Type, _   ByVal bindingAttr As BindingFlags, _   ByVal binder As Binder, _   ByVal args() As Object, _   ByVal culture As CultureInfo _) As Object
[C#]
public static object CreateInstance(Typetype,BindingFlagsbindingAttr,Binderbinder,object[] args,CultureInfoculture);
[C++]
public: static Object* CreateInstance(Type* type,BindingFlagsbindingAttr,Binder* binder,Object* args __gc[],CultureInfo* culture);
[JScript]
public static function CreateInstance(
   type : Type,bindingAttr : BindingFlags,binder : Binder,args : Object[],culture : CultureInfo) : Object;

パラメータ

  • type
    作成するオブジェクトの型。
  • bindingAttr
    type コンストラクタの検索に影響を与える 0 個以上のビット フラグの組み合わせ。 bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクタを検索します。
  • binder
    bindingAttr および args を使用して、type コンストラクタをシークおよび識別するオブジェクト。binder が null 参照 (Visual Basic では Nothing) の場合は、既定のバインダが使用されます。
  • args
    呼び出すコンストラクタのパラメータと、数、順序、および型が一致する引数の配列。 args が空の配列または null 参照 (Visual Basic では Nothing) である場合は、パラメータをとらないコンストラクタ (既定のコンストラクタ) が呼び出されます。
  • culture
    args から type コンストラクタに対して宣言された仮型への強制変換を制御するカルチャ固有の情報。culture が null 参照 (Visual Basic では Nothing) の場合は、現在のスレッドの CultureInfo が使用されます。

戻り値

新しく作成されたオブジェクトへの参照。

例外

例外の種類 条件
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 オーバーロードの一覧