|
События
В Си Шарп события неотъемлемо связаны с делегатами.
Именно на делегатах основана вся модель событий в C#. Чаще всего события (events) используются в windows приложениях в которых допустим кнопка Button реагируя на события, выдают информацию на той же панели где они расположены (например щелчок мышкой). Но события так же можно использовать и в консольных приложениях.
Рассмотрим пример работы с событием
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
car c = new car("BMW");
car.MaxSpeed += new car.CarDelegate(car.Alert);
for (int i = 0; i < 30; i++)
c.SpeedUp();
}
}
class car
{
int speed = 0;
public delegate void CarDelegate(string msg);
public static event CarDelegate MaxSpeed;
string _name;
public car(string name)
{
this._name = name;
}
public void SpeedUp()
{
this.speed += 10;
Console.WriteLine(speed.ToString());
if (speed > 100)
MaxSpeed("Превышена скорость");
}
public static void Alert(string msg)
{
Console.WriteLine(msg);
}
}
|
В классе Car создаем делегат через который будет вызываться событие
Далее делаем вызов события когда скорость больше 100.
Через делегат вызывается метод Alert который и выводит сообщение на консоль

Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (1,67 - 3 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
|
|