Activator::CreateInstanceFrom Method (AppDomain^, String^, String^)
Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and default constructor.
Assembly: mscorlib (in mscorlib.dll)
public: [SecurityCriticalAttribute] static ObjectHandle^ CreateInstanceFrom( AppDomain^ domain, String^ assemblyFile, String^ typeName )
Parameters
- domain
-
Type:
System::AppDomain^
The remote domain where the type named typeName is created.
- 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 | domain or 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 CreateInstanceFrom when a host needs to execute code in an application domain that has restricted security permissions.
Use the ObjectHandle::Unwrap method to unwrap the return value.
Note |
|---|
This method uses SecurityAction::LinkDemand to require the immediate caller to have full trust. |
For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the Assembly::LoadFrom and CreateInstance methods.
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
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Available since 2.0
