Assembly::CreateInstance Method (String^, Boolean)
Locates the specified type from this assembly and creates an instance of it using the system activator, with optional case-sensitive search.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- typeName
-
Type:
System::String^
The Type::FullName of the type to locate.
- ignoreCase
-
Type:
System::Boolean
true to ignore the case of the type name; otherwise, false.
Return Value
Type: System::Object^An instance of the specified type created with the default constructor; or null if typeName is not found. The type is resolved using the default binder, without specifying culture or activation attributes, and with BindingFlags set to Public or Instance.
| Exception | Condition |
|---|---|
| ArgumentException | typeName is an empty string ("") or a string beginning with a null character. -or- The current assembly was loaded into the reflection-only context. |
| MissingMethodException | No matching constructor was found. |
| ArgumentNullException | typeName is null. |
| FileNotFoundException | typeName requires a dependent assembly that could not be found. |
| FileLoadException | typeName requires a dependent assembly that was found but could not be loaded. -or- The current assembly was loaded into the reflection-only context, and typeName requires a dependent assembly that was not preloaded. |
| BadImageFormatException | typeName requires a dependent assembly, but the file is not a valid assembly. -or- typeName requires a dependent assembly that was compiled for a version of the runtime that is later than the currently loaded version. |
The following example defines a Person class. It then calls the CreateInstance(String^) method to instantiate it, but because the casing of the typeName argument doesn’t match that of the type's FullName property, the method returns null. When the example passes the same string to the CreateInstance(String^, Boolean) overload and specifies that the comparison should be case-insensitive, the Person class is found, and a Person object is successfully instantiated.
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess
Available since 1.1