Activator.CreateInstance Activator.CreateInstance Activator.CreateInstance Activator.CreateInstance Method

定義

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

オーバーロード

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

名前を指定したアセンブリと、指定したパラメーターに最も適したコンストラクターを使用して、指定したリモート ドメインに、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

名前を指定したアセンブリと、指定したパラメーターに最も適したコンストラクターを使用して、指定したリモート ドメインに、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

名前を指定したアセンブリと、指定したパラメーターに最も一致するコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[])

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[])

名前を指定したアセンブリと、既定のコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and default constructor.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

名前を指定したアセンブリと、指定したパラメーターに最も一致するコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(Type, Object[]) CreateInstance(Type, Object[]) CreateInstance(Type, Object[])

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Boolean) CreateInstance(Type, Boolean) CreateInstance(Type, Boolean)

指定された型の既定のコンストラクターを使用して、指定された型のインスタンスを作成します。Creates an instance of the specified type using that type's default constructor.

CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String)

名前を指定したアセンブリと、既定のコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and default constructor.

CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[])

指定した ActivationContext オブジェクトによって決定され、指定したカスタム アクティベーション データによってアクティブにされる型のインスタンスを作成します。Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

CreateInstance(Type) CreateInstance(Type) CreateInstance(Type)

指定された型の既定のコンストラクターを使用して、指定された型のインスタンスを作成します。Creates an instance of the specified type using that type's default constructor.

CreateInstance(ActivationContext) CreateInstance(ActivationContext) CreateInstance(ActivationContext)

指定した ActivationContext オブジェクトによって決定される型のインスタンスを作成します。Creates an instance of the type designated by the specified ActivationContext object.

CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String)

名前を指定したアセンブリと既定のコンストラクターを使用して、指定したリモート ドメインに、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and default constructor.

CreateInstance<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

パラメーターなしのコンストラクターを使用して、指定されたジェネリック型パラメーターによって決定される型のインスタンスを作成します。Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

警告

この API は現在使われていません。

名前を指定したアセンブリと、指定したパラメーターに最も適したコンストラクターを使用して、指定したリモート ドメインに、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle

パラメーター

domain
AppDomain AppDomain AppDomain AppDomain

typeName という名前の型が作成されるドメイン。The domain where the type named typeName is created.

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

typeName の検索で大文字と小文字を区別しない場合は true。検索で大文字と小文字を区別する場合は falsetrue to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

typeName コンストラクターの検索に影響を与える 0 個以上のビット フラグの組み合わせ。A combination of zero or more bit flags that affect the search for the typeName constructor. bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクターを検索します。If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

bindingAttr および args を使用して typeName コンストラクターをシークおよび識別するオブジェクト。An object that uses bindingAttr and args to seek and identify the typeName constructor. bindernull の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

args から typeName コンストラクターに対して宣言された仮引数型への強制変換を制御するカルチャ固有の情報。Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. 通常、これは単一の UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object. UrlAttribute により、リモート オブジェクトのアクティブ化に必要な URL が指定されます。The UrlAttribute specifies the URL that is required to activate a remote object.

securityAttributes
Evidence Evidence Evidence Evidence

セキュリティ ポリシーがコードに与えるアクセス許可を決定するために使用する情報。Information used to make security policy decisions and grant code permissions.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

domain または typeNamenull です。domain or typeName is null.

一致するコンストラクターが見つかりませんでした。No matching constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

リフレクションを通じて呼び出されたコンストラクターが、例外をスローしました。The constructor, which was invoked through reflection, threw an exception.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

注釈

使用CreateInstanceホストがセキュリティのアクセス許可が制限されているアプリケーション ドメインでコードを実行する必要がある場合。Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

注意

このメソッドを使用してSecurityAction.LinkDemandに完全な信頼の直前の呼び出し元が必要です。This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
すべての型のメンバーに対して操作を呼び出す権限です。for the ability to invoke operations on all type members. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

SecurityCriticalAttribute
直前の呼び出し元に対する完全な信頼が必要です。requires full trust for the immediate caller. このメンバーは、部分的に信頼されたまたは透過的なコードで使用することはできません。This member cannot be used by partially trusted or transparent code.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

名前を指定したアセンブリと、指定したパラメーターに最も適したコンストラクターを使用して、指定したリモート ドメインに、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

パラメーター

domain
AppDomain AppDomain AppDomain AppDomain

typeName という名前の型が作成されるドメイン。The domain where the type named typeName is created.

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

typeName の検索で大文字と小文字を区別しない場合は true。検索で大文字と小文字を区別する場合は falsetrue to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

typeName コンストラクターの検索に影響を与える 0 個以上のビット フラグの組み合わせ。A combination of zero or more bit flags that affect the search for the typeName constructor. bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクターを検索します。If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

bindingAttr および args を使用して typeName コンストラクターをシークおよび識別するオブジェクト。An object that uses bindingAttr and args to seek and identify the typeName constructor. bindernull の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

args から typeName コンストラクターに対して宣言された仮引数型への強制変換を制御するカルチャ固有の情報。Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. これは、通常、リモート オブジェクトをアクティブ化するために必要な URL を指定する 1 つの UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

このパラメーターは、クライアント側でアクティブ化されるオブジェクトに関連しています。This parameter is related to client-activated objects. クライアント アクティベーションは、下位互換性のために残されているレガシ テクノロジです。新規の開発には使用しないでください。Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. 分散アプリケーションは、代わりに Windows Communication Foundation (WCF) を使用する必要があります。Distributed applications should instead use Windows Communication Foundation.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

domain または typeNamenull です。domain or typeName is null.

一致するコンストラクターが見つかりませんでした。No matching constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

リフレクションを通じて呼び出されたコンストラクターが、例外をスローしました。The constructor, which was invoked through reflection, threw an exception.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

注釈

使用CreateInstanceホストがセキュリティのアクセス許可が制限されているアプリケーション ドメインでコードを実行する必要がある場合。Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

注意

このメソッドを使用してSecurityAction.LinkDemandに完全な信頼の直前の呼び出し元が必要です。This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

セキュリティ

SecurityCriticalAttribute
直前の呼び出し元に対する完全な信頼が必要です。requires full trust for the immediate caller. このメンバーは、部分的に信頼されたまたは透過的なコードで使用することはできません。This member cannot be used by partially trusted or transparent code.

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
すべての型のメンバーに対して操作を呼び出す権限です。for the ability to invoke operations on all type members. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

名前を指定したアセンブリと、指定したパラメーターに最も一致するコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

パラメーター

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

typeName の検索で大文字と小文字を区別しない場合は true。検索で大文字と小文字を区別する場合は falsetrue to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

typeName コンストラクターの検索に影響を与える 0 個以上のビット フラグの組み合わせ。A combination of zero or more bit flags that affect the search for the typeName constructor. bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクターを検索します。If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

bindingAttr および args を使用して typeName コンストラクターをシークおよび識別するオブジェクト。An object that uses bindingAttr and args to seek and identify the typeName constructor. bindernull の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

args から typeName コンストラクターに対して宣言された仮引数型への強制変換を制御するカルチャ固有の情報。Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. これは、通常、リモート オブジェクトをアクティブ化するために必要な URL を指定する 1 つの UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

このパラメーターは、クライアント側でアクティブ化されるオブジェクトに関連しています。This parameter is related to client-activated objects. クライアント アクティベーションは、下位互換性のために残されているレガシ テクノロジです。新規の開発には使用しないでください。Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. 分散アプリケーションは、代わりに Windows Communication Foundation (WCF) を使用する必要があります。Distributed applications should instead use Windows Communication Foundation.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

一致するコンストラクターが見つかりませんでした。No matching constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

リフレクションを通じて呼び出されたコンストラクターが、例外をスローしました。The constructor, which was invoked through reflection, threw an exception.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

注釈

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている場合、非パブリックな型とメンバーの作成に使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型とメンバーを含むアセンブリの許可セットが制限されているかどうか呼び出し元の設定またはそのサブセットを付与します。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
非パブリックな型およびそのアクセス許可セットに関係なくのメンバーにアクセスします。for accessing nonpublic types and members regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static object CreateInstance (Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> obj

パラメーター

type
Type Type Type Type

作成するオブジェクトの型。The type of object to create.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

type コンストラクターの検索に影響を与える 0 個以上のビット フラグの組み合わせ。A combination of zero or more bit flags that affect the search for the type constructor. bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクターを検索します。If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

bindingAttr および args を使用して type コンストラクターをシークおよび識別するオブジェクト。An object that uses bindingAttr and args to seek and identify the type constructor. bindernull の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

args から type コンストラクターに対して宣言された仮引数型への強制変換を制御するカルチャ固有の情報。Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. これは、通常、リモート オブジェクトをアクティブ化するために必要な URL を指定する 1 つの UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

このパラメーターは、クライアント側でアクティブ化されるオブジェクトに関連しています。This parameter is related to client-activated objects. クライアント アクティベーションは、下位互換性のために残されているレガシ テクノロジです。新規の開発には使用しないでください。Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. 分散アプリケーションは、代わりに Windows Communication Foundation (WCF) を使用する必要があります。Distributed applications should instead use Windows Communication Foundation.

戻り値

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

typeRuntimeType ではありません。type is not a RuntimeType.

または-or- type はオープン ジェネリック型です (つまり、ContainsGenericParameters プロパティは true を返します)。type is an open generic type (that is, the ContainsGenericParameters property returns true).

typeTypeBuilder にすることはできません。type cannot be a TypeBuilder.

または-or- TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- type を格納するアセンブリは、Save を使用して作成された動的アセンブリです。The assembly that contains type is a dynamic assembly that was created with Save.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

呼び出されるコンストラクターは例外をスローします。The constructor being called throws an exception.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

COM 型が GetTypeFromProgID または GetTypeFromCLSID 経由で取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

一致するコンストラクターが見つかりませんでした。No matching constructor was found.

type は COM オブジェクトですが、型を取得するために使用されるクラス ID が有効でないか、または識別されたクラスが登録されていません。type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type は有効な型ではありません。type is not a valid type.

注釈

呼び出されるコンス トラクターには、指定したバインダーとバインディング属性の制約下で指定された引数リストと最もよく一致を提供する必要があります。The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている場合、非パブリックな型とメンバーのアクセスに使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型とメンバーの許可セットが呼び出し元の制限されたセットを許可またはそのサブセットに。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
証拠を指定します。for supplying evidence. 関連付けられた列挙体。 ControlEvidenceAssociated enumeration: ControlEvidence

ReflectionPermission
非パブリックな型およびそのアクセス許可セットに関係なくのメンバーにアクセスします。for accessing nonpublic types and members regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture);
public static object CreateInstance (Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj

パラメーター

type
Type Type Type Type

作成するオブジェクトの型。The type of object to create.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

type コンストラクターの検索に影響を与える 0 個以上のビット フラグの組み合わせ。A combination of zero or more bit flags that affect the search for the type constructor. bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクターを検索します。If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

bindingAttr および args を使用して type コンストラクターをシークおよび識別するオブジェクト。An object that uses bindingAttr and args to seek and identify the type constructor. bindernull の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

args から type コンストラクターに対して宣言された仮引数型への強制変換を制御するカルチャ固有の情報。Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

戻り値

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

typeRuntimeType ではありません。type is not a RuntimeType.

または-or- type はオープン ジェネリック型です (つまり、ContainsGenericParameters プロパティは true を返します)。type is an open generic type (that is, the ContainsGenericParameters property returns true).

typeTypeBuilder にすることはできません。type cannot be a TypeBuilder.

または-or- TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- type を格納するアセンブリは、Save を使用して作成された動的アセンブリです。The assembly that contains type is a dynamic assembly that was created with Save.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

呼び出されるコンストラクターは例外をスローします。The constructor being called throws an exception.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

COM 型が GetTypeFromProgID または GetTypeFromCLSID 経由で取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

一致するコンストラクターが見つかりませんでした。No matching constructor was found.

type は COM オブジェクトですが、型を取得するために使用されるクラス ID が有効でないか、または識別されたクラスが登録されていません。type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type は有効な型ではありません。type is not a valid type.

注釈

呼び出されるコンス トラクターには、指定したバインダーとバインディング属性の制約下で指定された引数リストと最もよく一致を提供する必要があります。The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている場合、非パブリックな型とメンバーのアクセスに使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型とメンバーを含むアセンブリの許可セットが制限されているかどうか呼び出し元の設定またはそのサブセットを付与します。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
非パブリックな型およびそのアクセス許可セットに関係なくのメンバーにアクセスします。for accessing nonpublic types and members regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[])

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args, cli::array <System::Object ^> ^ activationAttributes);
public static object CreateInstance (Type type, object[] args, object[] activationAttributes);
static member CreateInstance : Type * obj[] * obj[] -> obj

パラメーター

type
Type Type Type Type

作成するオブジェクトの型。The type of object to create.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. これは、通常、リモート オブジェクトをアクティブ化するために必要な URL を指定する 1 つの UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

このパラメーターは、クライアント側でアクティブ化されるオブジェクトに関連しています。This parameter is related to client-activated objects. クライアント アクティベーションは、下位互換性のために残されているレガシ テクノロジです。新規の開発には使用しないでください。Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. 分散アプリケーションは、代わりに Windows Communication Foundation (WCF) を使用する必要があります。Distributed applications should instead use Windows Communication Foundation.

戻り値

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

typeRuntimeType ではありません。type is not a RuntimeType.

または-or- type はオープン ジェネリック型です (つまり、ContainsGenericParameters プロパティは true を返します)。type is an open generic type (that is, the ContainsGenericParameters property returns true).

typeTypeBuilder にすることはできません。type cannot be a TypeBuilder.

または-or- TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- type を格納するアセンブリは、Save を使用して作成された動的アセンブリです。The assembly that contains type is a dynamic assembly that was created with Save.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

呼び出されるコンストラクターは例外をスローします。The constructor being called throws an exception.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

type は COM オブジェクトですが、型を取得するために使用されるクラス ID が有効でないか、または識別されたクラスが登録されていません。type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type は有効な型ではありません。type is not a valid type.

注釈

呼び出されるコンス トラクターは、アクセス可能である必要があり、指定した引数リストを最も具体的な一致を提供する必要があります。The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている非パブリックな型へのアクセスに使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型を含むアセンブリの許可セットは、呼び出し元の許可に制限されているかどうか設定またはそのサブセットにします。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
アクセス許可に関係なく、非パブリックな型の次のように設定します。for accessing nonpublic types regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[])

名前を指定したアセンブリと、既定のコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and default constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
static member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

パラメーター

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. これは、通常、リモート オブジェクトをアクティブ化するために必要な URL を指定する 1 つの UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

このパラメーターは、クライアント側でアクティブ化されるオブジェクトに関連しています。This parameter is related to client-activated objects. クライアント アクティベーションは、下位互換性のために残されているレガシ テクノロジです。新規の開発には使用しないでください。Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. 分散アプリケーションは、代わりに Windows Communication Foundation (WCF) を使用する必要があります。Distributed applications should instead use Windows Communication Foundation.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- activationAttributesUrlAttribute ではありません。activationAttributes is not a UrlAttribute

配列。array.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

activationAttributes で指定されたターゲットでリモートからのアクティブ化を試みたときにエラーが発生しました。An error occurred when attempting remote activation in a target specified in activationAttributes.

注釈

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、呼び出し元が許可されている場合は、非パブリックな型を作成するこのメソッドを使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型の許可セット、呼び出し元の許可セット、またはそのサブセットに制限されます。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
アクセス許可に関係なく、非パブリックな型の次のように設定します。for accessing nonpublic types regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

警告

この API は現在使われていません。

名前を指定したアセンブリと、指定したパラメーターに最も一致するコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle

パラメーター

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

typeName の検索で大文字と小文字を区別しない場合は true。検索で大文字と小文字を区別する場合は falsetrue to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

typeName コンストラクターの検索に影響を与える 0 個以上のビット フラグの組み合わせ。A combination of zero or more bit flags that affect the search for the typeName constructor. bindingAttr が 0 の場合は、大文字と小文字を区別してパブリック コンストラクターを検索します。If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

bindingAttr および args を使用して typeName コンストラクターをシークおよび識別するオブジェクト。An object that uses bindingAttr and args to seek and identify the typeName constructor. bindernull の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

args から typeName コンストラクターに対して宣言された仮引数型への強制変換を制御するカルチャ固有の情報。Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

アクティべーションに参加できる 1 つ以上の属性の配列。An array of one or more attributes that can participate in activation. これは、通常、リモート オブジェクトをアクティブ化するために必要な URL を指定する 1 つの UrlAttribute オブジェクトを含む配列です。This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

このパラメーターは、クライアント側でアクティブ化されるオブジェクトに関連しています。This parameter is related to client-activated objects. クライアント アクティベーションは、下位互換性のために残されているレガシ テクノロジです。新規の開発には使用しないでください。Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. 分散アプリケーションは、代わりに Windows Communication Foundation (WCF) を使用する必要があります。Distributed applications should instead use Windows Communication Foundation.

securityInfo
Evidence Evidence Evidence Evidence

セキュリティ ポリシーがコードに与えるアクセス許可を決定するために使用する情報。Information used to make security policy decisions and grant code permissions.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

一致するコンストラクターが見つかりませんでした。No matching constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

リフレクションを通じて呼び出されたコンストラクターが、例外をスローしました。The constructor, which was invoked through reflection, threw an exception.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- activationAttributes が空の配列ではないか、作成される型が MarshalByRefObject から派生したものではありません。activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

注釈

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている場合、非パブリックな型とメンバーの作成に使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型とメンバーを含むアセンブリの許可セットが制限されているかどうか呼び出し元の設定またはそのサブセットを付与します。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
非パブリックな型およびそのアクセス許可セットに関係なくのメンバーにアクセスします。for accessing nonpublic types and members regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Object[]) CreateInstance(Type, Object[]) CreateInstance(Type, Object[])

指定したパラメーターに最も一致するコンストラクターを使用して、指定した型のインスタンスを作成します。Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, ... cli::array <System::Object ^> ^ args);
public static object CreateInstance (Type type, params object[] args);
static member CreateInstance : Type * obj[] -> obj

パラメーター

type
Type Type Type Type

作成するオブジェクトの型。The type of object to create.

args
Object[]

呼び出すコンストラクターのパラメーターと、数、順序、および型が一致する引数の配列。An array of arguments that match in number, order, and type the parameters of the constructor to invoke. args が空の配列または null である場合は、パラメーターなしのコンストラクター (既定のコンストラクター) が呼び出されます。If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

戻り値

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

typeRuntimeType ではありません。type is not a RuntimeType.

または-or- type はオープン ジェネリック型です (つまり、ContainsGenericParameters プロパティは true を返します)。type is an open generic type (that is, the ContainsGenericParameters property returns true).

typeTypeBuilder にすることはできません。type cannot be a TypeBuilder.

または-or- TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- type を格納するアセンブリは、Save を使用して作成された動的アセンブリです。The assembly that contains type is a dynamic assembly that was created with Save.

または-or- args と最もよく一致するコンストラクターに varargs 引数があります。The constructor that best matches args has varargs arguments.

呼び出されるコンストラクターは例外をスローします。The constructor being called throws an exception.

Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である MemberAccessException を代わりにキャッチします。In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である MissingMemberException を代わりにキャッチします。In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

type は COM オブジェクトですが、型を取得するために使用されるクラス ID が有効でないか、または識別されたクラスが登録されていません。type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type は有効な型ではありません。type is not a valid type.

次の例では、CreateInstance(Type, Object[])を作成する方法、Stringオブジェクト。The following example calls the CreateInstance(Type, Object[]) method to create a String object. 呼び出す、 String.String(Char[], Int32, Int32) 14 番目の位置から文字配列から 10 個の要素を含む文字列のインスタンスを作成するコンス トラクター。It calls the String.String(Char[], Int32, Int32) constructor to instantiate a string that contains ten elements from a character array starting at the fourteenth position.

using System;

public class Example
{
   public static void Main()
   {
      // Initialize array of characters from a to z.
      Char[] chars = new Char[26]; 
      for (int ctr = 0; ctr < 26; ctr++)
         chars[ctr] = (char) (ctr + 0x0061);

      Object obj = Activator.CreateInstance(typeof(String),
                                            new Object[] { chars, 13, 10 } );
      Console.WriteLine(obj);                                          
   }
}
// The example displays the following output:
//       nopqrstuvw
Module Example
   Public Sub Main()
      ' Initialize array of characters from a to z.
      Dim chars(25) As Char 
      For ctr As Short = 0 To 25
         chars(ctr) = ChrW(ctr + &h0061)
      Next 
      Dim obj As Object = Activator.CreateInstance(GetType(String),
                                                   { chars, 13, 10 })
      Console.WriteLine(obj)                                          
   End Sub
End Module
' The example displays the following output:
'       nopqrstuvw

次の例に渡される引数を要素として持つジャグ配列を作成、Stringコンス トラクター。The following example creates a jagged array whose elements are arguments to be passed to a String constructor. 各配列を渡します、CreateInstance(Type, Object[])に適切な文字列コンス トラクターを呼び出すメソッド。The example then passes each array to the CreateInstance(Type, Object[]) method to invoke the appropriate string constructor.

using System;

public class Example
{
   public static void Main()
   {
      char[] characters = { 'a', 'b', 'c', 'd', 'e', 'f' };
      object[][] arguments = new object[3][] { new object[] { characters },
                                               new object[] { characters, 1, 4 },
                                               new object[] { characters[1], 20 } };

      for (int ctr = 0; ctr <= arguments.GetUpperBound(0); ctr++) {
         object[] args = arguments[ctr];
         object result = Activator.CreateInstance(typeof(String), args);
         Console.WriteLine("{0}: {1}", result.GetType().Name, result);
      }
   }
}
// The example displays the following output:
//    String: abcdef
//    String: bcde
//    String: bbbbbbbbbbbbbbbbbbbb
Module Example
   Public Sub Main()
      Dim characters() As Char = { "a"c, "b"c, "c"c, "d"c, "e"c, "f"c }
      Dim arguments()() As Object = new Object(2)() { New Object() { characters },
                                                      New Object() { characters, 1, 4 },
                                                      New Object() { characters(1), 20 } }

      For ctr As Integer = 0 To arguments.GetUpperBound(0)
         Dim args() As Object = arguments(ctr)
         Dim result As Object = Activator.CreateInstance(GetType(String), args)
         Console.WriteLine("{0}: {1}", result.GetType().Name, result)
      Next
   End Sub
End Module
' The example displays the following output:
'       String: abcdef
'       String: bcde
'       String: bbbbbbbbbbbbbbbbbbbb

注釈

呼び出されるコンス トラクターは、アクセス可能である必要があり、指定した引数リストを最も具体的な一致を提供する必要があります。The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている非パブリックな型へのアクセスに使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型を含むアセンブリの許可セットは、呼び出し元の許可に制限されているかどうか設定またはそのサブセットにします。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
アクセス許可に関係なく、非パブリックな型の次のように設定します。for accessing nonpublic types regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Boolean) CreateInstance(Type, Boolean) CreateInstance(Type, Boolean)

指定された型の既定のコンストラクターを使用して、指定された型のインスタンスを作成します。Creates an instance of the specified type using that type's default constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type, bool nonPublic);
public static object CreateInstance (Type type, bool nonPublic);
static member CreateInstance : Type * bool -> obj

パラメーター

type
Type Type Type Type

作成するオブジェクトの型。The type of object to create.

nonPublic
Boolean Boolean Boolean Boolean

パブリックまたはパブリックでない既定コンストラクターを一致させる場合は true。パブリックの既定コンストラクターだけを一致させる場合は falsetrue if a public or nonpublic default constructor can match; false if only a public default constructor can match.

戻り値

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

typeRuntimeType ではありません。type is not a RuntimeType.

または-or- type はオープン ジェネリック型です (つまり、ContainsGenericParameters プロパティは true を返します)。type is an open generic type (that is, the ContainsGenericParameters property returns true).

typeTypeBuilder にすることはできません。type cannot be a TypeBuilder.

または-or- TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- type を格納するアセンブリは Save を使用して作成された動的アセンブリです。The assembly that contains type is a dynamic assembly that was created with Save.

呼び出されるコンストラクターは例外をスローします。The constructor being called throws an exception.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

type は COM オブジェクトですが、型を取得するために使用されるクラス ID が有効でないか、または識別されたクラスが登録されていません。type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type は有効な型ではありません。type is not a valid type.

注釈

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている場合、非パブリックな型とメンバーのアクセスに使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型とメンバーを含むアセンブリの許可セットが制限されているかどうか呼び出し元の設定またはそのサブセットを付与します。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
非パブリックな型およびそのアクセス許可セットに関係なくのメンバーにアクセスします。for accessing nonpublic types and members regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String)

名前を指定したアセンブリと、既定のコンストラクターを使用して、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified, using the named assembly and default constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

パラメーター

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。You cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

リフレクションを通じて呼び出されたコンストラクターが、例外をスローしました。The constructor, which was invoked through reflection, threw an exception.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

次の例は、という名前のクラスを定義します。Personという名前のアセンブリでPersonInfoします。The following example defines a class named Person in an assembly named PersonInfo. なお、Personクラスにはパラメーターなしのうちの 1 つは、2 つのコンス トラクター。Note that the Person class has two constructors, one of which is parameterless.

using System;

public class Person
{
   private string _name;
   
   public Person()
   { }
   
   public Person(string name)
   {
      this._name = name;
   }
   
   public string Name
   { get { return this._name; }
     set { this._name = value; } }
   
   public override string ToString()
   {
      return this._name;
   }
}
Public Class Person
   Private _name As String
   
   Public Sub New()
   End Sub
   
   Public Sub New(name As String)
      Me._name = name
   End Sub
   
   Public Property Name As String
      Get
         Return Me._name
      End Get
      Set
         Me._name = value
      End Set
   End Property
   
   Public Overrides Function ToString() As String
      Return Me._name
   End Function
End Class

次の例では、CreateInstance(String, String)をインスタンス化するメソッド、Personクラス。The following example calls the CreateInstance(String, String) method to instantiate the Person class. プロジェクトに追加する PersonInfo.dll への参照が必要です。It requires a reference to PersonInfo.dll to be added to the project. CreateInstance(String, String)メソッドの呼び出し、Personクラスの既定のコンス トラクターに値を割り当てます例では、そのNameプロパティ。Because the CreateInstance(String, String) method calls the Person class default constructor, the example assigns a value to its Name property.

using System;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Person p = (Person) handle.Unwrap();
      p.Name = "Samuel";
      Console.WriteLine(p);
   }
}
// The example displays the following output:
//        Samuel
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Person = CType(handle.Unwrap(), Person)
      p.Name = "Samuel"
      Console.WriteLine(p)
   End Sub
End Module
' The example displays the following output:
'       Samuel

ただし、CreateInstanceはマシン境界を越えているかをデザイン時に不明な型をインスタンス化に頻繁に呼び出されます。However, CreateInstance is frequently called to instantiate a type that crosses machine boundaries or that is not known at design time. この場合、プロジェクトのアセンブリへの参照を含めることはできませんし、型のメンバーへの事前バインディングされた呼び出しを行うことはできません。In this case, you cannot include a reference to the assembly in the project and cannot make early-bound calls to the type's members. この制限を回避するには、次の例を使用して、CreateInstanceメソッドに値を代入するためにリフレクションと、PersonオブジェクトのNameプロパティの値を表示します。To work around this limitation, the following example uses the CreateInstance method along with reflection to assign a value to the Person object's Name property and to display its value.

using System;
using System.Reflection;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Object p = handle.Unwrap();
      Type t = p.GetType();
      PropertyInfo prop = t.GetProperty("Name");
      if (prop != null)
         prop.SetValue(p, "Samuel");

      MethodInfo method = t.GetMethod("ToString");
      Object retVal = method.Invoke(p, null); 
      if (retVal != null)
         Console.WriteLine(retVal);
   }
}
// The example displays the following output:
//        Samuel
Imports System.Reflection
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Object = handle.Unwrap()
      Dim t As Type = p.GetType()
      Dim prop As PropertyInfo = t.GetProperty("Name")
      if Not prop Is Nothing Then
         prop.SetValue(p, "Samuel")
      End If   
      Dim method As MethodInfo = t.GetMethod("ToString")
      Dim retVal As Object = method.Invoke(p, Nothing) 
      If Not retVal Is Nothing Then
         Console.WriteLine(retVal)
      End If
   End Sub
End Module
' The example displays the following output:
'       Samuel

注釈

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

assemblyName 次のいずれかになります。assemblyName can be either of the following:

  • アセンブリでは、パスまたはファイル拡張子なしの簡易名。The simple name of an assembly, without its path or file extension. たとえばは指定TypeExtensionsのパスと名前は.\bin\TypeExtensions.dll アセンブリ。For example, you would specify TypeExtensions for an assembly whose path and name are .\bin\TypeExtensions.dll.

  • 簡易名、バージョン、カルチャ、およびパブリック キー トークンで構成される署名されたアセンブリの完全名たとえば、"TypeExtensions、バージョン 1.0.0.0、カルチャを = = neutral, PublicKeyToken = 181869f2f7435b51"。The full name of a signed assembly, which consists of its simple name, version, culture, and public key token; for example, "TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51".

共通言語ランタイムの識別し、アセンブリの読み込みの詳細については、次を参照してください。ランタイムがアセンブリを検索する方法します。For more information on how the common language runtime identifies and loads assemblies, see How the Runtime Locates Assemblies. アプリケーション構成ファイルを使用して、アセンブリの場所を定義する方法の詳細については、次を参照してください。アセンブリの場所を指定するします。For information on using the application configuration file to define assembly locations, see Specifying an Assembly's Location. 場合assemblyNameが見つかると、既定のコンテキストに読み込まれます。If assemblyName is found, it is loaded in the default context.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、呼び出し元が許可されている場合は、非パブリックな型を作成するこのメソッドを使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型を含むアセンブリの許可セットは、呼び出し元の許可に制限されているかどうか設定またはそのサブセットにします。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
アクセス許可に関係なく、非パブリックな型の次のように設定します。for accessing nonpublic types regardless of their grant set. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[])

指定した ActivationContext オブジェクトによって決定され、指定したカスタム アクティベーション データによってアクティブにされる型のインスタンスを作成します。Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext, cli::array <System::String ^> ^ activationCustomData);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (ActivationContext activationContext, string[] activationCustomData);
static member CreateInstance : ActivationContext * string[] -> System.Runtime.Remoting.ObjectHandle

パラメーター

activationContext
ActivationContext ActivationContext ActivationContext ActivationContext

作成するオブジェクトを指定するアクティベーション コンテキスト オブジェクト。An activation context object that specifies the object to create.

activationCustomData
String[]

カスタム アクティベーション データを格納する Unicode 文字列の配列。An array of Unicode strings that contain custom activation data.

戻り値

新しく作成されたオブジェクトにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created object.

注釈

使用して、ObjectHandle.Unwrap戻り値のラップを解除するメソッド。Use the ObjectHandle.Unwrap method to unwrap the return value.

ドメイン ポリシーを設定して、アプリケーション ベースのセキュリティ モデルを提供するマニフェストに基づくアクティベーション中にアクティブ化コンテキストが使用されます。The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. ActivationContextクラスが含まれています、ApplicationIdentityアプリケーション マニフェストへのアクセスを提供するオブジェクト。The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. 詳細については、ApplicationSecurityManager クラスを参照してください。For more information, see the ApplicationSecurityManager class.

こちらもご覧ください

CreateInstance(Type) CreateInstance(Type) CreateInstance(Type)

指定された型の既定のコンストラクターを使用して、指定された型のインスタンスを作成します。Creates an instance of the specified type using that type's default constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type);
public static object CreateInstance (Type type);
static member CreateInstance : Type -> obj

パラメーター

type
Type Type Type Type

作成するオブジェクトの型。The type of object to create.

戻り値

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

typeRuntimeType ではありません。type is not a RuntimeType.

または-or- type はオープン ジェネリック型です (つまり、ContainsGenericParameters プロパティは true を返します)。type is an open generic type (that is, the ContainsGenericParameters property returns true).

typeTypeBuilder にすることはできません。type cannot be a TypeBuilder.

または-or- TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

または-or- type を格納するアセンブリは Save を使用して作成された動的アセンブリです。The assembly that contains type is a dynamic assembly that was created with Save.

呼び出されるコンストラクターは例外をスローします。The constructor being called throws an exception.

Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である MemberAccessException を代わりにキャッチします。In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象クラスのインスタンスを作成することができないか、またはこのメンバーは遅延バインド メカニズムで呼び出されました。Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である MissingMemberException を代わりにキャッチします。In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

type は COM オブジェクトですが、型を取得するために使用されるクラス ID が有効でないか、または識別されたクラスが登録されていません。type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type は有効な型ではありません。type is not a valid type.

次のコード例を呼び出す方法を示します、CreateInstance(Type)メソッド。The following code example demonstrates how to call the CreateInstance(Type) method. さまざまな種類のインスタンスが作成され、その既定値が表示されます。Instances of several different types are created and their default values are displayed.

using namespace System;

ref class DynamicInstanceList
{
private:
    static String^ instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

public:
    static void Main()
    {
        array<String^>^ instances = instanceSpec->Split(';');
        Array^ instlist = Array::CreateInstance(Object::typeid, instances->Length);
        Object^ item;

        for (int i = 0; i < instances->Length; i++)
        {
            // create the object from the specification string
            Console::WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator::CreateInstance(Type::GetType(instances[i]));
            instlist->SetValue(item, i);
        }
        Console::WriteLine("\nObjects and their default values:\n");
        for each (Object^ o in instlist)
        {
            Console::WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o->GetType()->FullName, o->ToString(), o->GetHashCode());
        }
    }
};

int main()
{
    DynamicInstanceList::Main();
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
using System;

class DynamicInstanceList
{
    private static string instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

    public static void Main()
    {
        string[] instances = instanceSpec.Split(';');
        Array instlist = Array.CreateInstance(typeof(object), instances.Length);
        object item;
        for (int i = 0; i < instances.Length; i++)
        {
            // create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator.CreateInstance(Type.GetType(instances[i]));
            instlist.SetValue(item, i);
        }
        Console.WriteLine("\nObjects and their default values:\n");
        foreach (object o in instlist)
        {
            Console.WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o.GetType().FullName, o.ToString(), o.GetHashCode());
        }
    }
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
Imports System

Class DynamicInstanceList
    Private Shared instanceSpec As String = "System.EventArgs;System.Random;" + _
        "System.Exception;System.Object;System.Version"

    Public Shared Sub Main()
        Dim instances() As String = instanceSpec.Split(";")
        Dim instlist As Array = Array.CreateInstance(GetType(Object), instances.Length)
        Dim item As Object

        For i As Integer = 0 To instances.Length -1
            ' create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances(i))
            item = Activator.CreateInstance(Type.GetType(instances(i)))
            instlist.SetValue(item, i)
        Next i
        Console.WriteLine(vbNewLine + "Objects and their default values:" + vbNewLine)
        For Each o As Object In instlist
            Console.WriteLine("Type:     {0}" + vbNewLine + "Value:    {1}" + _
                vbNewLine + "HashCode: {2}" + vbNewLine, _
                o.GetType().FullName, o.ToString(), o.GetHashCode())
        Next o
    End Sub
End Class

' This program will display output similar to the following:
'
' Creating instance of: System.EventArgs
' Creating instance of: System.Random
' Creating instance of: System.Exception
' Creating instance of: System.Object
' Creating instance of: System.Version
'
' Objects and their default values:
'
' Type:     System.EventArgs
' Value:    System.EventArgs
' HashCode: 46104728
'
' Type:     System.Random
' Value:    System.Random
' HashCode: 12289376
'
' Type:     System.Exception
' Value:    System.Exception: Exception of type 'System.Exception' was thrown.
' HashCode: 55530882
'
' Type:     System.Object
' Value:    System.Object
' HashCode: 30015890
'
' Type:     System.Version
' Value:    0.0
' HashCode: 1048575

注釈

呼び出されるコンス トラクターは、アクセス可能である必要があります。The constructor to be invoked must be accessible.

注意

以降では、 .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1、このメソッドは、呼び出し元が許可されている非パブリックな型へのアクセスに使用できますReflectionPermissionで、ReflectionPermissionFlag.RestrictedMemberAccessフラグと非パブリックな型を含むアセンブリの許可セットは、呼び出し元の許可に制限されているかどうか設定またはそのサブセットにします。Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (を参照してくださいリフレクションに関するセキュリティの考慮事項)。(See Security Considerations for Reflection.)

この機能を使用するには、アプリケーションで .NET Framework 3.5.NET Framework 3.5 以降を対象とする必要があります。To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
アクセス許可に関係なく、非パブリックな型の次のように設定します。for accessing nonpublic types regardless of their grant sets. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

CreateInstance(ActivationContext) CreateInstance(ActivationContext) CreateInstance(ActivationContext)

指定した ActivationContext オブジェクトによって決定される型のインスタンスを作成します。Creates an instance of the type designated by the specified ActivationContext object.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (ActivationContext activationContext);
static member CreateInstance : ActivationContext -> System.Runtime.Remoting.ObjectHandle

パラメーター

activationContext
ActivationContext ActivationContext ActivationContext ActivationContext

作成するオブジェクトを指定するアクティベーション コンテキスト オブジェクト。An activation context object that specifies the object to create.

戻り値

新しく作成されたオブジェクトにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created object.

注釈

使用して、ObjectHandle.Unwrap戻り値のラップを解除するメソッド。Use the ObjectHandle.Unwrap method to unwrap the return value.

ドメイン ポリシーを設定して、アプリケーション ベースのセキュリティ モデルを提供するマニフェストに基づくアクティベーション中にアクティブ化コンテキストが使用されます。The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. ActivationContextクラスが含まれています、ApplicationIdentityアプリケーション マニフェストへのアクセスを提供するオブジェクト。The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. 詳細については、ApplicationSecurityManager クラスを参照してください。For more information, see the ApplicationSecurityManager class.

こちらもご覧ください

CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String)

名前を指定したアセンブリと既定のコンストラクターを使用して、指定したリモート ドメインに、名前を指定した型のインスタンスを作成します。Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and default constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName);
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String) As ObjectHandle

パラメーター

domain
AppDomain AppDomain AppDomain AppDomain

typeName という名前の型が作成されるリモート ドメイン。The remote domain where the type named typeName is created.

assemblyName
String String String String

typeName という名前の型をシークする場所となるアセンブリの名前。The name of the assembly where the type named typeName is sought. assemblyNamenull の場合は、実行中のアセンブリが検索されます。If assemblyName is null, the executing assembly is searched.

typeName
String String String String

必要な型の完全修飾名。The fully qualified name of the preferred type.

戻り値

新しく作成されたインスタンスにアクセスするために、ラップを解除する必要があるハンドル。A handle that must be unwrapped to access the newly created instance.

例外

typeName または domainnull です。typeName or domain is null.

一致するパブリック コンストラクターが見つかりませんでした。No matching public constructor was found.

typenameassemblyName に見つかりませんでした。typename was not found in assemblyName.

assemblyName が見つかりませんでした。assemblyName was not found.

呼び出し元には、このコンストラクターを呼び出すアクセス許可がありません。The caller does not have permission to call this constructor.

抽象型のインスタンスは作成できません。Cannot create an instance of an abstract type.

または-or- このメンバーは、遅延バインディング メカニズムで呼び出されました。This member was invoked with a late-binding mechanism.

リフレクションを通じて呼び出されたコンストラクターが、例外をスローしました。The constructor, which was invoked through reflection, threw an exception.

GetTypeFromProgID または GetTypeFromCLSID を通じて COM 型が取得されませんでした。The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

TypedReferenceArgIteratorVoid、および RuntimeArgumentHandle 型、またはそれらの型の配列の作成はサポートされていません。Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName は正しいアセンブリではありません。assemblyName is not a valid assembly.

または-or- 共通言語ランタイム (CLR) バージョン 2.0 以降が現在読み込まれており、assemblyName は現在読み込まれているバージョンより新しいバージョンの CLR 用にコンパイルされました。The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. .NET Framework のバージョン 2.0、3.0、3.5 はすべて、CLR バージョン 2.0 を使うことにご注意ください。Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

または-or- アセンブリ名かコード ベースが正しくありません。The assembly name or code base is invalid.

注釈

使用CreateInstanceホストがセキュリティのアクセス許可が制限されているアプリケーション ドメインでコードを実行する必要がある場合。Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

使用ObjectHandle.Unwrap戻り値のラップを解除します。Use ObjectHandle.Unwrap to unwrap the return value.

注意

このメソッドを使用してSecurityAction.LinkDemandに完全な信頼の直前の呼び出し元が必要です。This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

セキュリティ

SecurityPermission
デリゲートのインスタンスを作成するときに、アンマネージ コードを呼び出す機能。for the ability to call unmanaged code when creating an instance of a delegate. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
すべての型のメンバーに対して操作を呼び出す権限です。for the ability to invoke operations on all type members. 関連付けられた列挙体。 MemberAccessAssociated enumeration: MemberAccess

SecurityCriticalAttribute
直前の呼び出し元に対する完全な信頼が必要です。requires full trust for the immediate caller. このメンバーは、部分的に信頼されたまたは透過的なコードで使用することはできません。This member cannot be used by partially trusted or transparent code.

CreateInstance<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

パラメーターなしのコンストラクターを使用して、指定されたジェネリック型パラメーターによって決定される型のインスタンスを作成します。Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

public:
generic <typename T>
 static T CreateInstance();
public static T CreateInstance<T> ();
static member CreateInstance : unit -> 'T
Public Shared Function CreateInstance(Of T) () As T

型パラメーター

T

作成する型。The type to create.

戻り値

T T T T

新しく作成されたオブジェクトへの参照。A reference to the newly created object.

例外

Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である MissingMemberException を代わりにキャッチします。In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

T に指定されている型には、パラメーターなしのコンストラクターがありません。The type that is specified for T does not have a parameterless constructor.

注釈

CreateInstance<T>()ジェネリック メソッドは、コンパイラで型パラメーターで指定された型のインスタンス化を実装するために使用します。The CreateInstance<T>() generic method is used by compilers to implement the instantiation of types specified by type parameters. たとえば、次のジェネリック メソッドの実装でnew T()(gcnew T() C++ で) を使用して、CreateInstance<T>()ジェネリック メソッド。For example, in the following generic method, the implementation of new T() (gcnew T() in C++) uses the CreateInstance<T>() generic method.

public:
    generic <typename T> where T:gcnew()
    static T Bar()
    {
        return gcnew T();
    }
public static T Factory<T>() where T : new()
{
    return new T();
}
Public Shared Function Factory(Of T As New)() As T
    Return New T()
End Function

一般の使用はありません、CreateInstance<T>()型は、コンパイル時に認識する必要がありますので、アプリケーションでジェネリック メソッドのコードします。In general, there is no use for the CreateInstance<T>() generic method in application code, because the type must be known at compile time. 型がコンパイル時に既知の場合は、通常のインスタンス化の構文を使用できます (new C# 演算子NewVisual Basic でgcnewC++ で)。If the type is known at compile time, normal instantiation syntax can be used (new operator in C#, New in Visual Basic, gcnew in C++). コンパイル時に、型が不明な場合は、非ジェネリック オーバー ロードを呼び出すことができますCreateInstanceします。If the type is not known at compile time, you can call a non-generic overload of CreateInstance.

オーバー ロードはありません、CreateInstance<T>()ジェネリック メソッドのオーバー ロード、汎用でないため、引数リストを取るCreateInstance既に遅延バインディングのコンス トラクターの解決を提供します。There are no overloads of the CreateInstance<T>() generic method that take argument lists, because the non-generic overloads of CreateInstance already provide late-bound constructor resolution.

適用対象