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::ObjectHandle^A handle that must be unwrapped to access the newly created instance.
| Exception | Condition |
|---|---|
| ArgumentNullException | typeName is null. |
| 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);
for the ability to call unmanaged code when creating an instance of a delegate. Associated enumeration: SecurityPermissionFlag::UnmanagedCode
for the ability to search directory paths and read their contents. Associated enumerations: FileIOPermissionAccess::PathDiscovery and FileIOPermissionAccess::Read
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
for accessing nonpublic types regardless of their grant set. Associated enumeration: ReflectionPermissionFlag::MemberAccess
Available since 1.1