LINUX.ORG.RU

[c#] события и делегаты


0

0

Не совсем понятна сабжевая облать. Делегат - указатель на метод с определенной сигнатурой (возвращаемым типом и параметрами аргументов). Допустим есть некоторый класс A, который имеет событие _EventHandler связанное с делегатом _Delegate. При каждом срабатывании события _EventHandler будут вызываться все методы, подписанные на _Delegate. И естественно они будут выполняться в том же потоке, что и метод 'выстрелившый' событием.

Нигде ничего не напутал?

Ответ на: комментарий от Love5an

Кресты вообще хреновы, но это сугубо имхо.

tensai_cirno ★★★★★
() автор топика

ничего. кроме того что "Делегат - тип указателя на метод" (но это не суть)

зы. не забудь отписаться, иначе memory leaks - твои.
ззы. если надо вызвать в другом потоке раскуривай от ISynchronizeInvoke.

k0l0b0k ★★
()
Ответ на: комментарий от LinuxKal

кто сказал? о_О

каким бы г оно не было, но оно, в любом случае, лучше шарпа. да.

кстати, есть ещё С. но тут оно мимо, поэтому С++ привёл.

g
()
Ответ на: комментарий от Love5an

>Это C++ то лучше C#? И в каком же плане лучше?

ооо, понеслась...

k0l0b0k ★★
()
Ответ на: комментарий от g

C++, если подумать, отношение к Столлману имеет не большее, чем C#. Це - другое дело, но чистый Це.
плюс, вопрос касательно технологий, а не политики, да

Love5an
()
Ответ на: комментарий от anonymous

> Какое отношение эта политика имеет к технологии?

тебе потом микрасофт объяснит.

g
()
Ответ на: комментарий от Love5an

да фиг его знает, чем оно лучше :) ничем. но почему-то после 1,5 лет программирования на C# нет желания не то что на него смотреть, но даже слышать/читать про него. он отвратителен.

С++ тоже не люблю, но, внезапно, он отвращения не вызывает (4-й год на нём пишу при этом). алсо шаблоны педалят в том виде, в котором они тут есть.

ну а С - то, что надо. вообще не надоест никогда, наверное :)

хотя, новый проект почему-то распорядился начать на Qt и, соответственно, С++ :)

в C# нету Qt! во! точно :)

g
()
Ответ на: комментарий от g

>но почему-то после 1,5 лет программирования на C# нет желания не то что на него смотреть, но даже слышать/читать про него. он отвратителен.
Ассоциации с местом работы?

>алсо шаблоны педалят в том виде

Шаблоны это ад, в самом плохом смысле...

>в C# нету Qt

У C# есть библиотеки Mono и .NET. По сравнению с ними Qt кажется очень убогим.

Love5an
()
Ответ на: комментарий от Love5an

> Ассоциации с местом работы?
честно говоря, жалею что ушёл. частично.
смержить бы текущее место и предыдущее - был бы класс :)
в общем, оно меня и тогда бесило так же.

> Шаблоны это ад, в самом плохом смысле...

может быть, ты просто не умеешь их готовить? :) по мне - очень удобно.

> У C# есть библиотеки Mono и .NET. По сравнению с ними Qt кажется очень убогим.

make me unsee it.

может быть я неопытен или коряв в мозговом плане, но пока ничего удобнее Qt я не встречал.
что же касаемо .net - это сраный кошмар, а не библиотека.

с mono не работал, но, очевидно, это то же самое.

g
()

Вдогонку, методы нельзя наследовать а-ля конструкторы в пределах класса?

Это работает:

		public Downloader () : this (null, 3) {  }
		
		public Downloader (Queue dlList) : this (dlList, 3) {  }
		
		public Downloader (int threads) : this (null, threads) {  }
		
		public Downloader (Queue dlList, int threads)
		{
			//implementation
		}

А методы не хотят:

		public static string AddLeadingZero (int ID, int length)
		{
			//implementation
		}
		
		public static string AddLeadingZero (int ID) : this (ID, 8) {  }

tensai_cirno ★★★★★
() автор топика
Ответ на: комментарий от tensai_cirno

ключевое слово допиши (подсказка: начинается на over...) и будет тебе профит ;)

irq
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.