Activator::CreateInstanceFrom Method (String, String)
Creates an instance of the type whose name is specified, using the named assembly file and default constructor.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- assemblyFile
- Type: System::String
The name of a file that contains an assembly where the type named typeName is sought.
- typeName
- Type: System::String
The name of the preferred type.
Return Value
Type: System.Runtime.Remoting::ObjectHandleA handle that must be unwrapped to access the newly created instance.
| Exception | Condition |
|---|---|
| ArgumentNullException | typeName is nullptr. |
| MissingMethodException | No matching public constructor was found. |
| TypeLoadException | typename was not found in assemblyFile. |
| FileNotFoundException | assemblyFile was not found. |
| 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. |
| TargetInvocationException | The constructor, which was invoked through reflection, threw an exception. |
| SecurityException | The caller does have the required FileIOPermission. |
| BadImageFormatException | assemblyFile is not a valid assembly. -or- 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. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. |
Use the ObjectHandle::Unwrap method to unwrap the return value.
For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the Assembly::LoadFrom and CreateInstance methods.
The following code example demonstrates how to call the CreateInstanceFrom method. This code example is part of a larger example provided for the Activator class.
// Create an instance of the SomeType class that is defined in this // assembly. System::Runtime::Remoting::ObjectHandle^ oh = Activator::CreateInstanceFrom(Assembly::GetEntryAssembly()->CodeBase, SomeType::typeid->FullName); // Call an instance method defined by the SomeType type using this object. SomeType^ st = (SomeType^) oh->Unwrap(); st->DoSomething(5);
- SecurityPermission
for the ability to call unmanaged code when creating an instance of a delegate. Associated enumeration: SecurityPermissionFlag::UnmanagedCode
- FileIOPermission
for the ability to search directory paths and read their contents. Associated enumerations: FileIOPermissionAccess::PathDiscovery and FileIOPermissionAccess::Read
- ReflectionPermission
for accessing nonpublic types when the grant set of the nonpublic types is restricted to the caller's grant set or to a subset thereof. Associated enumeration: ReflectionPermissionFlag::RestrictedMemberAccess
- ReflectionPermission
for accessing nonpublic types regardless of their grant set. Associated enumeration: ReflectionPermissionFlag::MemberAccess
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.