Activator::CreateInstance Method (Type^, Boolean)
Creates an instance of the specified type using that type's default constructor.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- type
-
Type:
System::Type^
The type of object to create.
- nonPublic
-
Type:
System::Boolean
true if a public or nonpublic default constructor can match; false if only a public default constructor can match.
| Exception | Condition |
|---|---|
| ArgumentNullException | type is null. |
| ArgumentException | type is not a RuntimeType. -or- type is an open generic type (that is, the ContainsGenericParameters property returns true). |
| NotSupportedException | type cannot be a TypeBuilder. -or- Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. -or- The assembly that contains type is a dynamic assembly that was created with AssemblyBuilderAccess::Save. |
| TargetInvocationException | The constructor being called throws an exception. |
| MethodAccessException | The caller does not have permission to call this constructor. |
| MemberAccessException | Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. |
| InvalidComObjectException | The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID. |
| MissingMethodException | No matching public constructor was found. |
| COMException | type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. |
| TypeLoadException | type is not a valid type. |
Note |
|---|
Starting with the .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.) To use this functionality, your application should target the .NET Framework 3.5 or later. |
for the ability to call unmanaged code when creating an instance of a delegate. Associated enumeration: SecurityPermissionFlag::UnmanagedCode
for accessing nonpublic types and members when the grant set of the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. Associated enumeration: ReflectionPermissionFlag::RestrictedMemberAccess
for accessing nonpublic types and members regardless of their grant set. Associated enumeration: ReflectionPermissionFlag::MemberAccess
Available since 1.1
