No encuentro ninguna buena documentación sobre el concepto de cargador de clases en .NET Framework? ¿Qué es? ¿Dónde se puede encontrar? ¿Alguien sabe?.NET Class Loader - ¿Qué es?
Respuesta
En .NET, los ensamblajes son la unidad fundamental de implementación. La tecnología que realmente carga los ensamblajes se llama Fusion. Para más detalles sobre eso lea el .NET Fusion Workshop. Cada ensamblaje tiene su propio cargador de clases para cargar tipos de ese ensamblaje.
Hosting the Common Language Runtime también pueden ser de su interés.
No creo que Class Loader en .NET tenga la misma importancia o poder que en Java. La carga de la clase correrá a cargo del cargador de clases de la asamblea.
La carga dinámica por lo general se llevaría a cabo mediante la carga de la asamblea y luego crear instancias de la clase:
Assembly assembly = Assembly.LoadFrom("assemblyName");
Type type = assembly.GetType("className");
object x = Activator.CreateInstance(type);
Gracias por la información útil. – user118190
¿Qué quieres decir? ¿Un concepto similar al de los cargadores de clase Java? En .Net, el concepto está asignado a AppDomain (solo busca AppDomain)
Sí, estoy buscando el equivalente a los cargadores de clase Java. Entonces, ¿debo buscar AppDomain y leer en él? – user118190
** AFAIK **, son conceptos equivalentes, es decir, ambos se utilizan como límite de seguridad, los tipos cargados en un dominio de Cargador de Clase/Aplicación no pueden (en general) ser utilizados por objetos en otros dominios de Cargador de Clase/Aplicación, etc. ¿Qué estás tratando de lograr exactamente? –
No estoy familiarizado con las partes internas de Java, pero Java Class Loader y .NET AppDomain me parecen diferentes. De Wikipedia: "Java Classloader es una parte del Java Runtime Environment que carga dinámicamente clases Java en la Máquina Virtual Java". y "En Common Language Runtime, un dominio de aplicación es un mecanismo (similar a un proceso en un sistema operativo) utilizado para aislar aplicaciones de software ejecutadas entre sí para que no se afecten entre sí". ¿No sería el equivalente de un AppDomain una instancia de JVM? –
Randy Levy no respondieron todos. El cargador de clases hizo más trabajos que Assembly.LoadFrom. Porque no hay un método como 'Assembly.Unload'. Los ensamblajes solo pueden descargarse cerrando appdomain. El cargador de clases de Java puede hacer mucho más que la respuesta de Randy Levy. Aquí marque una mejor respuesta en stackoverflow Equivalent of Class Loaders in .NET
- 1. WebSphere 7 - class Loader trace
- 2. ¿Cuál es el uso de Custom Class Loader
- 3. ¿Cómo puedo ordenar la salida de DBIx :: Class :: Schema :: Loader?
- 4. .NET Guard Class Library?
- 5. ¿Qué es el paquete de contenido hospedado en Application Loader?
- 6. ¿Qué es Proxy Class en C++
- 7. .NET 4 Task Class Tutorial
- 8. ¿Por qué "[self class] == [super class]"?
- 9. iTunes Application Loader - automatización
- 10. Applet class loader no puede encontrar una de las clases en el jar
- 11. ¿Exactamente qué tan grande es la .NET (3.5) Framework Class Library?
- 12. ¿Cómo evito que DBIx :: Class :: Schema :: Loader agregue automáticamente InflateColumn :: DateTime en Catalyst?
- 13. ¿Qué es .NET Framework?
- 14. Application Loader para Windows
- 15. .NET units class, pulgadas a milímetros
- 16. Loader framework vs AsyncTask simple
- 17. PHP regex: ¿qué es "class at offset 0"?
- 18. ¿Qué es JavaBeans plain-vanilla & plain-vanilla Java Class?
- 19. ¿Para qué es "string [] args" en Main class?
- 20. .Net - ¿Qué es un "desenrollar"?
- 21. ¿Qué es [] corchetes en .net?
- 22. ¿Qué es .NET RIA Services?
- 23. ¿Qué es WCF en .NET?
- 24. CSS: #id .class VS .class performance. ¿Cual es mejor?
- 25. Linux user-space ELF loader
- 26. Cargar IPA con Application Loader
- 27. ASP.NET Cache class vs. MemoryCache class
- 28. ¿Por qué Object.class == Class en Ruby?
- 29. ¿Es legal extender la clase Class?
- 30. ¿Puede .NET XmlSerializer class deserialize InnerXml como una cadena?
¿Por qué supone que existe algo así como un cargador de clases en .NET? –
Alguien me hizo esta pregunta y nunca la había visto. Sé que el concepto existe en Java y me preguntaba si había un equivalente en .NET. – user118190