Personas que lo han encontrado útil: 1 de 1 - Valorar este tema

Enlaces en tiempo de ejecución: semántica de Class.forName

Visual Studio 2005

Las clases cargadas con la API Class.forName se enlazan dinámicamente con la aplicación en tiempo de ejecución.

El método Class.forName(String className) no utiliza la variable de entorno CLASSPATH para buscar clases. En su lugar, se buscan clases en las siguientes ubicaciones, por orden:

  1. El ensamblado que llama.

  2. Todos los ensamblados cargados actualmente en el dominio de la aplicación actual.

  3. Ensamblados especificados en la etiqueta <CODEBASE> del archivo de configuración (.config) de la aplicación.

  4. ApplicationBase de la aplicación.

  5. Todas las DLL administradas encontradas en los directorios especificados por la etiqueta <PROBING> del archivo de configuración de la aplicación.

La búsqueda termina si se encuentra la clase en algún paso concreto. Si no se encuentra ningún archivo de configuración o si se producen errores al analizar el archivo, se omiten los pasos 3 a 5. Si no se encuentra la clase en ninguno de los pasos, se produce ClassNotFoundException.

Visual J# proporciona también un método adicional en la clase java.lang.Class para buscar y cargar clases de un ensamblado de la siguiente forma:

Class.forName(String assemblyName, String className, boolean absolutePath)

Este método busca la clase especificada por el parámetro className en el ensamblado especificado por el parámetro assemblyName. El parámetro assemblyName debe especificar el nombre del ensamblado que se va a mostrar (vea AssemblyName (Clase) para obtener más información). Si el parámetro booleano absolutePath es True, assemblyName representa una ruta absoluta que especifica la ubicación del ensamblado. Si absolutePath es False, se supone que no se ha especificado ninguna ruta y se utiliza la heurística de búsqueda de ensamblados de Common Language Runtime para buscar y cargar el ensamblado. Si no se encuentra la clase en el ensamblado especificado o no se encuentra dicho ensamblado, se produce ClassNotFoundException.

Para obtener más información, vea Caché de ensamblados global, Ensamblados, Dominios de aplicación y Cómo el motor en tiempo de ejecución ubica ensamblados.

¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar