AppDomain::CreateComInstanceFrom Method (String^, String^, array<Byte>^, AssemblyHashAlgorithm)
Creates a new instance of a specified COM type. Parameters specify the name of a file that contains an assembly containing the type and the name of the type.
Assembly: mscorlib (in mscorlib.dll)
public: ObjectHandle^ CreateComInstanceFrom( String^ assemblyFile, String^ typeName, array<unsigned char>^ hashValue, AssemblyHashAlgorithm hashAlgorithm )
Parameters
- assemblyFile
-
Type:
System::String^
The name of a file containing an assembly that defines the requested type.
- typeName
-
Type:
System::String^
The name of the requested type.
- hashValue
-
Type:
array<System::Byte>^
Represents the value of the computed hash code.
- hashAlgorithm
-
Type:
System.Configuration.Assemblies::AssemblyHashAlgorithm
Represents the hash algorithm used by the assembly manifest.
Return Value
Type: System.Runtime.Remoting::ObjectHandle^An object that is a wrapper for the new instance specified by typeName. The return value needs to be unwrapped to access the real object.
| Exception | Condition |
|---|---|
| ArgumentNullException | assemblyName or typeName is null. |
| TypeLoadException | The type cannot be loaded. |
| AppDomainUnloadedException | The operation is attempted on an unloaded application domain. |
| MissingMethodException | No public parameterless constructor was found. |
| FileNotFoundException | assemblyFile is not found. |
| MemberAccessException | typeName is an abstract class. -or- This member was invoked with a late-binding mechanism. |
| NotSupportedException | The caller cannot provide activation attributes for an object that does not inherit from MarshalByRefObject. |
| ArgumentException | assemblyFile is the empty string (""). |
| BadImageFormatException | assemblyFile is not a valid assembly. |
| FileLoadException | An assembly or module was loaded twice with two different evidences. |
| NullReferenceException | The COM object that is being referred to is null. |
Use this method to create objects remotely without having to load the type locally.
The return value must to be unwrapped to access the real object.
A System.Runtime.InteropServices::ComVisibleAttribute attribute with a value of true must be applied either explicitly or by default to the COM type for this method to create an instance of that type; otherwise, TypeLoadException is thrown.
for the ability to access the location of the assembly. Associated enumeration: FileIOPermissionAccess::PathDiscovery
for the ability to read the file containing the assembly manifest. Associated enumeration: FileIOPermissionAccess::Read
for the ability to access the location of the assembly if the assembly is not local.
Available since 1.1