+#if NET_4_0
+ public ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr,
+ Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
+ {
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstance (assemblyName, typeName, ignoreCase, bindingAttr, binder, args,
+ culture, activationAttributes, null);
+ }
+ public object CreateInstanceAndUnwrap (string assemblyName, string typeName, bool ignoreCase,
+ BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture,
+ object[] activationAttributes)
+ {
+ ObjectHandle oh = CreateInstance (assemblyName, typeName, ignoreCase, bindingAttr, binder, args,
+ culture, activationAttributes);
+ return (oh != null) ? oh.Unwrap () : null;
+ }
+
+ public ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase,
+ BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture,
+ object[] activationAttributes)
+ {
+ if (assemblyFile == null)
+ throw new ArgumentNullException ("assemblyFile");
+
+ return Activator.CreateInstanceFrom (assemblyFile, typeName, ignoreCase, bindingAttr, binder, args,
+ culture, activationAttributes, null);
+ }
+
+ public object CreateInstanceFromAndUnwrap (string assemblyFile, string typeName, bool ignoreCase,
+ BindingFlags bindingAttr, Binder binder, object[] args,
+ CultureInfo culture, object[] activationAttributes)
+ {
+ ObjectHandle oh = CreateInstanceFrom (assemblyFile, typeName, ignoreCase, bindingAttr, binder, args,
+ culture, activationAttributes);
+
+ return (oh != null) ? oh.Unwrap () : null;
+ }
+#endif
+