Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Вызов методов без параметров
Вызов методов без параметров
Предположим, что нам нужно вызвать метод TurboBoost() типа MiniVan. Вы помните, что этот метод приводит двигатель в "абсолютно нерабочее" состояние и генерирует появление информационного блока сообщения. Первым нашим шагом должно быть получение типа MethodInfо для метода TurboBoost() с помощью Type.GetMethod(). Получив MethodInfo, мы сможем вызвать Minivan.TurboBoost() с помощью Invoke(). Для MethodInfo.Invoke() необходимо указать все параметры, которые должны быть переданы методу, представленному с помощью MethodInfo. Эти параметры представляются массивом System.Object (поскольку метод может иметь любое число параметров любого типа).
Наш метод TurboBoost() не имеет параметров, поэтому для него указывается null (в данном случае это и означает отсутствие параметров у метода). Модифицируйте метод Main() так.
static void Main(string[] args) {
// Попытка загрузить локальную копию CarLibrary.
...
// Получение типа MiniVan.
Type miтiVan = a.GetType("CarLibrary.MiniVan");
// Динамическое создание MiniVan.
object obj = Activator.CreateInstance(miniVan);
// Получение информации о TurboBoost.
MethodInfo mi = miniVan.GetMethod("TurboBoost");
// Вызов метода ('null' означает отсутствие параметров) .
mi.Invoke(obj, null);
}
После этого вы сможете лицезреть сообщение, подобное показанному на рис. 12.5.
Рис. 12.5. Вызов метода в условиях динамической привязки
- Восстановление "безнадежных" баз данных. InterBase Surgeon
- Система безопасности InterBase
- Общие рекомендации по безопасности
- Надежность и безопасность
- Безопасная работа с внешними таблицами
- Конфигурация безопасности для базы данных
- Интегрированная безопасность (NT Integrated Security)
- Безопасность временных таблиц
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- Единое имя файла параметров InterBase
- Глава 10 Информационная безопасность бизнеса
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC