@CSharpChatЭта группа больше не существует

Страница 834 из 1888
Andrey
21.04.2017
12:22:39
лол, засунул в конструктор, все ок

а private readonly не ок

Летучая
21.04.2017
12:22:59
?

Google
Axm
21.04.2017
12:23:01
слушайте, а чо, public event Action BlaBla; не позволяет подписаться на себя более чем одному хэндлеру?

какая-то хуйня и нагуглить ничего по этому поводу не могу

Андрей
21.04.2017
12:23:24
как это?

Летучая
21.04.2017
12:23:25
ну это же Action

Андрей
21.04.2017
12:23:28
как подписываешься?

Владимир
21.04.2017
12:23:32
private readonly System.Threading.Timer _timer = new Timer(SendOldOrders(null), null, 0, 5000);
private readonly System.Threading.Timer _timer = new Timer(new TimerCallback(Run), this, 0, 5000); private static void Run(object o) { var context = o as MyClass }

Axm
21.04.2017
12:24:26
что пишет
второй подписчик заменяет собой первого

Андрей
21.04.2017
12:24:43
ты через = подписываешься?

Владимир
21.04.2017
12:24:48
Axm
21.04.2017
12:24:54
Летучая
21.04.2017
12:25:03
Сделай EventHandler

Google
Владимир
21.04.2017
12:25:07
удали все -= если есть

Андрей
21.04.2017
12:25:08
ага

сделай event EventHandler MyEvent;

Летучая
21.04.2017
12:25:38
Если хочешь экшон

Владимир
21.04.2017
12:25:41
Может ему именно экшен нужен

Летучая
21.04.2017
12:25:44
делай EventHandler<Action>

ваще я впервые вижу эвент

который не эвентхэндлер

Андрей
21.04.2017
12:26:54
если экшон нужен то Action<T> BlaBla;

Летучая
21.04.2017
12:27:19
EventHandler<Action<T>>

Roman
21.04.2017
12:27:49
Кёйя повзрослел

Mikhail
21.04.2017
12:28:43
второй подписчик заменяет собой первого
Вообще странно конечно. Какая разница action там или чет еще

Friedrich
21.04.2017
12:29:37
слушайте, а чо, public event Action BlaBla; не позволяет подписаться на себя более чем одному хэндлеру?
Совершенно точно позволяет. Эвент это и есть массив делегатов, всегда. Хотя видеть такой event Action очень странно, конечно, но он должен работать как обычный.

Axm
21.04.2017
12:32:37
странно, почему-то в ConsoleApplication78 все работает нормально и правильно, а в реальном приложении под дебагом нет.

Mikhail
21.04.2017
12:33:05
Андрей
21.04.2017
12:33:38
ConsoleApplication78

норм

Google
Владимир
21.04.2017
12:35:42


Андрей
21.04.2017
12:40:12
подтверждаю



хотя не понятно что тебе таки нужно - экшон или эвент =/

ну вот получается выше эвент, а у меня экшон

дэээ

Mikhail
21.04.2017
12:45:21
интересно бы посмотреть куски кода, а то нечего особо анализировать ?

Axm
21.04.2017
12:45:29
мне нужен event Action. набросал точно такой же код, как в приложении, с такой же иерархией классов - все ок в тесте. не могу найти эту разницу, хз что не так.

Mikhail
21.04.2017
12:45:48
скинь че в подписках происходит

Axm
21.04.2017
12:45:58
что именно?

Mikhail
21.04.2017
12:46:17
мож че-то в голову забредет нам тут... так точно не должно быть.

Владимир
21.04.2017
12:46:19
Может первый хендлер кидает эксепшен?

Axm
21.04.2017
12:46:30
не, все ок с ним

Mikhail
21.04.2017
12:47:16
что именно?
ну в Action которые ты подписываешь на event

Владимир
21.04.2017
12:47:51
не, все ок с ним
у тебя не ксамарин? https://bugzilla.xamarin.com/show_bug.cgi?id=19619

Axm
21.04.2017
12:49:21
https://pastebin.com/ig9YM1F6 примерно вот так в реальном приложении. вот именно этот код работает сейчас. а там в Initialize вторая подписка (тут 30 строка), перетирает первую.

нутром чую, что я еблан и что-то пропустил, но пока не могу найти

Mikhail
21.04.2017
12:50:00
а вместо Console.WriteLine че?

если value-type то проблемес могет быть

Axm
21.04.2017
12:50:24
private void метод там

Google
Sergey
21.04.2017
12:50:26
@e1ee7 Все работает, спасибо! Еще маленький вопрос, если можно. Как различать нажатую кнопку в листбоксайтем, если у меня их две. можно в свойствах листбокса прописать ButtonBase.Click = "Event_handelr", однако он тогда дя обоих один и тот же ивент вызывает. Мне нужно а) либо различать в этом обработчике их б) вызывать для них разные события

Mikhail
21.04.2017
12:51:12
не, имею ввиду Action += () => { Console.WriteLine(1); }; что у тебя на самом деле передается туда?

Axm
21.04.2017
12:51:45
типа такого: () => { _SignOutWaitHandle.Set(); }

Mikhail
21.04.2017
12:52:02
?

Владимир
21.04.2017
12:52:58
https://pastebin.com/ig9YM1F6 примерно вот так в реальном приложении. вот именно этот код работает сейчас. а там в Initialize вторая подписка (тут 30 строка), перетирает первую.
перед вызовом ивента сделай foreach (var entry in CuteEvent.GetInvocationList()) { Console.WriteLine(entry.GetHashCode()); } так. В дебаг куда-нибудь.

Mikhail
21.04.2017
12:54:17
GC где-нить че-нить дропает ?

еще один тупой вопрос - эт че? _SignOutWaitHandle

ну тип какой

Sergey
21.04.2017
12:58:21
Го сделаем репутацию помощников! Чтобы когда человек нашел ответ на свой вопрос, спрашивающий ставил ему лойс. Хочу, чтобы родина знала своих героев. Кто тут одмен

Mikhail
21.04.2017
12:59:22
?

пофиг на репутацию... тут вон какие баги у людей интересные)

AutoResetEvent
а подписки в одном потоке или в нескольких происходят? такие вещи конеш глобально бы смотреть

Axm
21.04.2017
13:07:40
перед вызовом ивента сделай foreach (var entry in CuteEvent.GetInvocationList()) { Console.WriteLine(entry.GetHashCode()); } так. В дебаг куда-нибудь.
все, вижу теперь где я дебил, спасибо. GetInvocationList помог разобраться. с подписками все ок, все дело в асинхронном выполнении обработчика, что не дает дождаться его завершения.

Владимир
21.04.2017
13:09:06
Отлично.

Sergey
21.04.2017
13:10:32


2 кнопки в листбоксайтем

Сори за говно-скрин) не хотел спамить

Google
Владимир
21.04.2017
13:12:12
Ты потратишь меньше времени на проект, если изучишь с нуля mvvm подход и все перепишешь.

Mikhail
21.04.2017
13:12:55
вброшу плохих решений - дай кнопкам Name и получай его у sender'а ?

Владимир
21.04.2017
13:13:01
Тебе нужен какой-нибудь формо эксперт, в этих ивентах разбираться тот еще геморой. Из очевидного, почему у тебя обработчики не на кнопках висят, а в каком-то батон-бейз.

Mikhail
21.04.2017
13:13:02
я не особо в впф, но вероятно так можно

Владимир
21.04.2017
13:13:33
вброшу плохих решений - дай кнопкам Name и получай его у sender'а ?
у него они в темплейте листбокситема, там таких кнопок будет куча

Mikhail
21.04.2017
13:13:40
я подозревал, что до конца не понял в чем дело )

не читал - че там выше

Владимир
21.04.2017
13:14:38
Костыли можно наворотить конечно

Mikhail
21.04.2017
13:15:05
Microsoft news
21.04.2017
13:15:43
Стали доступны видеозаписи с Imagine Cup 2017! https://blogs.msdn.microsoft.com/rudevnews/2017/04/21/video-imagine-cup-2017/ 15 апреля состоялся российский финал международного конкурса студенческих проектов Imagine Cup 2017! Напомним, что одиннадцать студенческих команд из разных городов России представили свои технологические проекты на российском финале конкурса Imagine Cup 2017. Победителями стали: Команда НИУ ВШЭ с проектом Boremeter, которая представила на конкурс приложение для мониторинга вовлеченности аудитории во время мероприятий, реализованное на основе...

Sergey
21.04.2017
13:15:53
Ты потратишь меньше времени на проект, если изучишь с нуля mvvm подход и все перепишешь.
Да у нас на этом как раз курс проги закончился, я так и не успел расшарить:( Тут уже совсем чуть-чуть осталось

Mikhail
21.04.2017
13:20:01
а что тебе различать нужно? а то я вне контекста (и вверху быстро не нашел объяснений)

Владимир
21.04.2017
13:20:25
Да у нас на этом как раз курс проги закончился, я так и не успел расшарить:( Тут уже совсем чуть-чуть осталось
ну самый простой способ, перенести стиль в файл окна и там повесить разные хендлеры на две эти кнопки.

Ilya
21.04.2017
13:20:33
откуда стикер?

Владимир
21.04.2017
13:20:39
Коносуба

Sergey
21.04.2017
13:20:46
Смотри, на в каждом айтеме листбокса у меня две кнопки. Нужно различать их нажатие

Владимир
21.04.2017
13:21:01
Kono Subarashii Sekai ni Shukufuku o!

Страница 834 из 1888

Эта группа больше не существует Эта группа больше не существует