Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2019, 23:59   #1
Elocika
 
Регистрация: 04.06.2019
Сообщений: 5
По умолчанию Работа с пользовательскими событиями, С#

Добрый вечер, помогите, пожалуйста, не понимаю, как исправить ошибку.
Событие разрядки телефона
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace События
{
	class Program
	{
	
		class Mobile
		{
			//Объявляем делегат
			public delegate void ChargeLevelHandler(string message, int level);
			//Событие, возникающее при критическом уровне заряда 
			public event ChargeLevelHandler MinLevel;
			//Событие, возникающее при уровне заряда выше критического
			public event ChargeLevelHandler CurrentLevel;

			int _level; //Переменная для хранения уровня заряда

			public Mobile(int level)
			{
				_level = level;
			}

			//public int CurrentLevelHandler
			//{
			//	get { return _level; }
			//}

			public void LevelHandler(int _level)
			{
				if (_level < 16)
				{
					if (MinLevel != null)
					{
						MinLevel("Критический уровень заряда! Заряд {0}%", _level);
					}
				}
				else
				{
					if (CurrentLevel != null)
					{
						CurrentLevel("Текущий уровень заряда: {0}", _level);
					}
				}
			}
		}

		static void Main(string[] args)
		{
			Mobile samsung = new Mobile(50);
			//Добавляем обработчики события
			samsung.MinLevel += Show_Message;
			samsung.CurrentLevel += Show_Message;

			samsung.LevelHandler(50);

			Console.ReadKey();
		}

		private static void Show_Message(string message)
		{
			Console.WriteLine(message);
		}
	}
}
Безымянный.png
Elocika вне форума Ответить с цитированием
Старый 06.06.2019, 01:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
public delegate void ChargeLevelHandler(string message, int level);
private static void Show_Message(string message);
Разницу не замечаете?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как мне реализовать работу метода Show() с пользовательскими типами? Artyom9912 C# (си шарп) 1 08.12.2018 22:36
работа с отображаемыми в память файлами и событиями a1t2m3 Помощь студентам 3 11.04.2014 11:44
Организация взаимодействия между пользовательскими элементами Geradot ASP.NET 1 14.06.2012 14:06
Работа с событиями в PowerPoint БуреВестник Microsoft Office Word 0 19.10.2009 15:58
Как работать с пользовательскими полями в документах OOo Writer, используя С++ Elle_Urban Общие вопросы C/C++ 0 21.09.2009 20:30