¿Cuál es la diferencia entre estas llamadas?Diferencia entre Assembly.CreateInstance y Activator.CreateInstance?
Respuesta
Ninguno. Assembly.CreateInstance en realidad llama a Activator.CreateInstance debajo del capó.
Usando Reflector en Assembly.CreateInstance:
public object CreateInstance(string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
{
Type type = this.GetType(typeName, false, ignoreCase);
if (type == null)
{
return null;
}
return Activator.CreateInstance(type, bindingAttr, binder, args, culture, activationAttributes);
}
Assembly.CreateInstance
mira para un tipo en un conjunto particular, mientras que Activator.CreateInstance
puede crear un objeto de cualquier tipo.
Activator.CreateInstance
tiene sobrecargas que Assembly
no; por ejemplo, puede crear objetos en otros dominios de la aplicación o en otro servidor usando Remoting.
Puede suministrar Activator.CreateInstance con el nombre del tipo y el nombre del conjunto en lugar de un objeto Type. Esto significa que intentará cargar el ensamblado en el Dominio de aplicación actual (si no está cargado actualmente) y luego intentará cargar el tipo. Creo que Assembly.CreateInstance (que llama al activador) no intenta cargar el ensamblaje si no está cargado. Simplemente intenta obtener el objeto Type para el tipo especificado y devuelve null si no se encuentra (digo esto leyendo el código y no después de la prueba).
- 1. Diferencia entre Activator.CreateInstance() y typeof (T) .InvokeMember() con BindingFlags.CreateInstance
- 2. ¿cuál es la diferencia entre AppDomain.CreateInstance y Activator.CreateInstance?
- 3. Activator.CreateInstance (cadena) y Activator.CreateInstance <T>() diferencia
- 4. Ninject, proveedores y Activator.CreateInstance
- 5. Assembly.CreateInstance and security
- 6. MySQL: diferencia entre ', `,' y"
- 7. Diferencia entre objeto y *?
- 8. Diferencia entre. y #
- 9. ¿Diferencia entre == y caso?
- 10. La diferencia entre $ * y $ @
- 11. Diferencia entre & y &
- 12. VBA: Diferencia entre y y +
- 13. Activator.CreateInstance falla
- 14. Activator.CreateInstance <T> Vs new
- 15. Cargando ensamblajes en tiempo de ejecución y creando instancias usando Activator.CreateInstance()
- 16. Diferencia entre -Wconversion entre gcc y g ++
- 17. Diferencia entre subprocess.Popen y os.system
- 18. Diferencia entre decimal y decimal
- 19. ¿Diferencia entre trazo y relleno?
- 20. Diferencia entre interrupción y eventos
- 21. Diferencia entre netTcpContextBinding y netTcpBinding
- 22. ¿Diferencia entre brújula y sass?
- 23. Diferencia entre "__method__" y "método"
- 24. Diferencia entre Mealy y Moore
- 25. Diferencia entre HashSet y HashMap?
- 26. diferencia entre ajax y enviar
- 27. Diferencia entre sistema y shell_exec
- 28. Diferencia entre Style y ControlTemplate
- 29. Diferencia entre relativo y absoluto
- 30. Diferencia entre window.location.href y top.location.href
esos son buenos puntos – scottm
Nice. Gracias chicos. –