Class.ForName Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя. | Описание |
|---|---|
| ForName(String) |
|
| ForName(String, Boolean, ClassLoader) |
|
ForName(String)
Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки.
[Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName(string className);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")>]
static member ForName : string -> Java.Lang.Class
Параметры
- className
- String
полное имя требуемого класса.
Возвращаемое значение
Class Объект для класса с указанным именем.
- Атрибуты
Исключения
Значение , если запрошенный класс не найден.
Значение , если во время компоновки произошла ошибка
Значение , если исключение возникает во время статической инициализации класса.
Комментарии
Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки. Вызов этого метода эквивалентен следующему:
<blockquote/blockquote>Class.forName(className, true, currentLoader)<>
где currentLoader обозначает определяющий загрузчик класса текущего класса.
Например, следующий фрагмент кода возвращает дескриптор среды выполнения Class для класса с именем java.lang.Thread:
<blockquote/blockquote>Class t = Class.forName("java.lang.Thread")<>
Вызов вызывает forName("X") инициализацию класса X .
Документация по Java для java.lang.Class.forName(java.lang.String).
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Применяется к
ForName(String, Boolean, ClassLoader)
Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки, используя загрузчик заданного класса.
[Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName(string name, bool initialize, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")>]
static member ForName : string * bool * Java.Lang.ClassLoader -> Java.Lang.Class
Параметры
- name
- String
полное имя требуемого класса
- initialize
- Boolean
Значение
- loader
- ClassLoader
загрузчик класса, из которого необходимо загрузить класс
Возвращаемое значение
объект класса, представляющий нужный класс
- Атрибуты
Исключения
Значение , если запрошенный класс не найден.
Значение , если во время компоновки произошла ошибка
Значение , если исключение возникает во время статической инициализации класса.
Комментарии
Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки, используя загрузчик заданного класса. Учитывая полное имя класса или интерфейса (в том же формате, который возвращается getName) этот метод пытается найти и загрузить класс или интерфейс. Для загрузки класса или интерфейса используется указанный загрузчик классов. Если параметр loader имеет значение NULL, класс загружается с помощью загрузчика класса начальной загрузки. Класс инициализируется только в том случае, если initialize параметр true не был инициализирован ранее.
Если name обозначает примитивный тип или void, будет предпринята попытка найти определяемый пользователем класс в неназванном пакете, имя которого равно name. Поэтому этот метод нельзя использовать для получения любого из Class объектов, представляющих примитивные типы или void.
Если name обозначает класс массива, тип компонента класса массива загружается, но не инициализирован.
Например, в методе экземпляра выражение:
<blockquote/blockquote>Class.forName("Foo")<>
эквивалентно правилу
<blockquote/blockquote>Class.forName("Foo", true, this.getClass().getClassLoader())<>
Обратите внимание, что этот метод выдает ошибки, связанные с загрузкой, связыванием или инициализацией, как указано в разделах {
Добавлено в версии 1.2.
Документация по Java для java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader).
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.