Assembly.CreateInstance メソッド (String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object )
オプションの大文字小文字を区別する検索を使用して、このアセンブリから指定された型を検索し、システム アクティベータを使用してこの型のインスタンスを作成し、指定されたカルチャ設定、引数、バインディング属性、およびアクティべーション属性を設定します。
Overloads Public Function CreateInstance( _
ByVal typeName As String, _ ByVal ignoreCase As Boolean, _ ByVal bindingAttr As BindingFlags, _ ByVal binder As Binder, _ ByVal args() As Object, _ ByVal culture As CultureInfo, _ ByVal activationAttributes() As Object _) As Object
[C#]
public object CreateInstance(stringtypeName,boolignoreCase,BindingFlagsbindingAttr,Binderbinder,object[] args,CultureInfoculture,object[] activationAttributes);
[C++]
public: Object* CreateInstance(String* typeName,boolignoreCase,BindingFlagsbindingAttr,Binder* binder,Object* args __gc[],CultureInfo* culture,Object* activationAttributes __gc[]);
[JScript]
public function CreateInstance(
typeName : String,ignoreCase : Boolean,bindingAttr : BindingFlags,binder : Binder,args : Object[],culture : CultureInfo,activationAttributes : Object[]) : Object;
パラメータ
typeName
検索対象の型の Type.FullName 。ignoreCase
型名の大文字と小文字の違いを無視する場合は true 。それ以外の場合は false 。bindingAttr
検索の実行方法に影響を与えるビットマスク。値は、 BindingFlags のビット フラグの組み合わせです。binder
バインディング、引数型の強制変換、メンバの呼び出し、およびリフレクションを通じた MemberInfo オブジェクトの取得を有効にするオブジェクト。binder が null 参照 (Visual Basic では Nothing) の場合は、既定のバインダが使用されます。args
コンストラクタに渡す引数を格納しているオブジェクト型の配列。この引数の配列は、呼び出すコンストラクタのパラメータと、数、順序、および型が同じである必要があります。既定のコンストラクタを使用する場合は、 args を空の配列または null 参照 (Visual Basic では Nothing) にする必要があります。culture
型の強制変換を制御するために使用する CultureInfo のインスタンス。 null 参照 (Visual Basic では Nothing) の場合は、現在のスレッドの CultureInfo が使用されます。このインスタンスは、たとえば、1000 を表す String を Double 値に変換する場合に必要です。これは、カルチャ設定によって 1000 の表記が異なるためです。activationAttributes
アクティべーションに参加できる 1 つ以上のアクティべーション属性を格納しているオブジェクト型の配列。アクティべーション属性の例を次に示します。URLAttribute(http://hostname/appname/objectURI)
戻り値
型を表し、指定された条件と一致する Object のインスタンス。 typeName が見つからない場合は null 参照 (Visual Basic では Nothing) 。
例外
例外の種類 | 条件 |
---|---|
ArgumentException | typeName が空の文字列 ("") または "\0anything" です。
または typeName の長さが 1024 文字を超えています。 |
ArgumentNullException | typeName が null 参照 (Visual Basic では Nothing) です。 |
MissingMethodException | 一致するコンストラクタが見つかりませんでした。 |
NotSupportedException | 空でないアクティベーション属性の配列が、 MarshalByRefObject から継承しない型に渡されました。 |
SecurityException | 呼び出し元に、必要なアクセス許可がありません。 |
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
- SecurityPermission (デリゲートのインスタンスを作成するためのアクセス許可) SecurityPermissionFlag.UnmanagedCode (関連する列挙体)
参照
Assembly クラス | Assembly メンバ | System.Reflection 名前空間 | Assembly.CreateInstance オーバーロードの一覧