
??
13.03.2018
20:50:00
Отсюда и разница типов как несовместимых при разных версиях сборок, если guid не явно указан
Но я это только на VC++ практиковал

Paul
13.03.2018
20:51:25
Действительно, есть такое поле у Type. Но как тут это может помочь?

??
13.03.2018
20:53:09
Сделать свой класс-подмену с теми же guid, или расширить, например методом расширения, который вы в статике будете вызывать.

Google

Paul
13.03.2018
20:54:52
это дичайшее хакерство какое-то

??
13.03.2018
20:55:37
Думаю лучше дождаться тех, кто лучше разбирается в линкерах, чем рубить топором (ну или харекством обзывать), кажется MS сам такое практикует

Paul
13.03.2018
20:58:03
Ага, апологетов Linker'а, кторые всегда говорят при случае, что если его врубить, то сборка раздувается всего чуть-чуть по сравнению с native'ом :)

Max
13.03.2018
21:09:13
Кто-нибудь баловался с OpenCV и XF?

Slava
14.03.2018
04:57:02
Кто-нибудь баловался с OpenCV и XF?
Да, делали это в 2014 году. Хотя XF тут не при чем, все надо на уровне iOS/Android делать. Байндить либы OpenCV напрямую был большой геморрой, взяли EmguCV за деньги. iOS был вменяемый, а вот Android работал очень медленно, поэтому заменили его на Wikitude

Maksim
14.03.2018
05:41:46

??
14.03.2018
05:57:50
Можно в XML для линкера указать полное название типа
Точно, под UWP вырезал метаданные из сборок целыми пространствами с помощью *.rd.xml, запамятовал, что можно в том же файле защищать типы от удаления. https://docs.microsoft.com/ru-ru/dotnet/framework/net-native/runtime-directives-rd-xml-configuration-file-reference @Paul_N

Alexander
14.03.2018
06:32:47
ребята работающие с AdSense, вы платите налоги?)

??
14.03.2018
06:50:47

Sergey
14.03.2018
08:39:15
Кто что думает про Flutter? Выглядит перспективно. Кто-нибудь пробовал уже?

Алексеев
14.03.2018
10:12:38

Sergey
14.03.2018
10:20:42

Vladimir
14.03.2018
10:25:35
Ребята! Кто-то сталкивался с невозможностью дебажить (а иногда и запуститть) watchOS приложения в симуляторе? Пилю небольшое приложение под watchOS. С Android Wear никаких проблем, а тут даже симулятор нормально не может открыть приложение. Либо виснет, либо открывает через раз. Простейшее приложение. С одной кнопкой. WatchOs 4.2

Google

Slava
14.03.2018
10:26:37

Sergey
14.03.2018
10:29:36

Кита
14.03.2018
10:47:30

Egor
14.03.2018
10:49:57
любой кроссплатформ фраемворк (погуглите, их уже были сотни на самом деле) вызывает восторг от концепций, но потом и пользователи и создатели понимают что его надо еще лет 5 шлефовать)
это как принцип паретто)
за 20% усилий создали 80% фраемворка и чтобы допилить оставшиеся 20% надо 80 % усилий)

Sergey
14.03.2018
10:58:18

Egor
14.03.2018
10:59:08
так дарт - тот же жс, не?

Sergey
14.03.2018
11:01:29

Egor
14.03.2018
11:02:10
ну попробуй, можешь как на волне подняться, так и выбросить весь свой опыт в трубу
кто знает, дарт вообще давно вроде существует - никому не интересен
за пределами гугла

Sergey
14.03.2018
11:04:04
Но внутри гугла его вроде активно используют. Хотя согласен что язык малопопулярный. С другой стороны, тот же swift который только появился тоже все бросились изучать не смотря на привязку только к iOS (пока).

vladimir
14.03.2018
11:05:45
прямо-таки все бросились изучать?

Egor
14.03.2018
11:05:52
ломать обратную совместимость, усложнять жизнь - сжимаешь зубы и продолжаешь ? все деньги там

Александр
14.03.2018
12:19:21
Люди как сделать dialog fragment в фрагменте?

Rustam
14.03.2018
13:05:24
оффтоп
если кому интересно, то в либу Lottie.Xamarin добавилась поддержка кликов и PlaySegment (пока сделал только для XF)
https://github.com/martijn00/LottieXamarin

Max
14.03.2018
13:05:45

Rustam
14.03.2018
13:10:40
нугет уже обновлен овнером. Если кто пользуется либой - помогайте контрибьютить :)

Google

Orhan
14.03.2018
13:41:47
Сегодня столкнулся с такой же проблемой.Проблема возникла после очередного обновления windows

Andy
14.03.2018
13:43:13
вроде уже все работает
смущает что все как то шатко

Dmitriy
14.03.2018
14:16:48
Привет, ребят, нужна подсказка. Дело вот в чем. По кнопкам открываются страницы, открываются долго (некоторые по 7 секунд), т.к. там модель заполняется большими данными. Вся разметка оформлена на шарпе. При ожидании сменяется навигейшнбар, а на фоне висит предыдущая страница. Как в такой ситуации впаять активитиИндикатор? Сутки роюсь, опыта мало. Получилось его вставить на новую страницу, но он отображается уже после того, как вся страница построилась и во время загрузки по-прежнему видна предыдущая страница.

Roman
14.03.2018
14:17:09

Slava
14.03.2018
14:17:41

Kirill
14.03.2018
14:19:06

Dmitriy
14.03.2018
14:20:31
Читал про стейтконтейнер. Надеялся, что хватит простого активити-индикатора. Нужно просто его отобразить в момент загрузки

Ivan
14.03.2018
14:44:20
Привет, ребят, нужна подсказка. Дело вот в чем. По кнопкам открываются страницы, открываются долго (некоторые по 7 секунд), т.к. там модель заполняется большими данными. Вся разметка оформлена на шарпе. При ожидании сменяется навигейшнбар, а на фоне висит предыдущая страница. Как в такой ситуации впаять активитиИндикатор? Сутки роюсь, опыта мало. Получилось его вставить на новую страницу, но он отображается уже после того, как вся страница построилась и во время загрузки по-прежнему видна предыдущая страница.
грузи данные не на основном потоке. Если долго выполняется именно сам layout, то стартуй процесс после того, как экран уже появился

Кита
14.03.2018
14:47:48
Ну вообще есть правило - сначала навигация, показ UI итд. А потом уже загрузка данных

Dmitriy
14.03.2018
14:48:58
Пытаюсь объявить поток, студия не понимает. Нужно ли еще что-то подключать кроме System.Threading?

Ivan
14.03.2018
14:49:15
Task.Run

Dmitriy
14.03.2018
14:49:44
Понял. Спасибо. Теперь сделаю

Кита
14.03.2018
14:50:49
Зачем потоки? Что? Вы определитесь сначала где конкретно у вас тормоза
Сначала происходит навигация, создается страница и пустой к ней контекст. Страница контексту сообщает что вью создана и показана. Контекст грузит данные, когда загрузил - показывает их (нотифицирует UI об изменении пропертей с данными).
Например данных много - 10000 айтемов. Контрол должен уметь в виртуализацию чтобы показывать только видимую область чтобы не создавать 10000 вьюшек а ровно столько сколько влезет на экран + 2. Например так работает из коробки recycle view на андроиде
Все. При таком подходе никаких тормозов. Никаких Task.Run итд. все решается обычными async await

Ivan
14.03.2018
14:56:40
только там не +2 и данные грузить и обрабатывать лучше все равно в фоне

Кита
14.03.2018
14:57:29
конечно в фоне
async await c этим прекрасно справляется

Google

Ivan
14.03.2018
15:04:50

Кита
14.03.2018
15:06:42
private async void LoadData() { IsLoading = true; var data = await Repository.Load(); IsLoading = false; }

Ivan
14.03.2018
15:09:57
Да уж)
Почитай по async void

Кита
14.03.2018
15:10:48
замени на async Task

Kirill
14.03.2018
15:11:19
Почитай по async void
Ни кто не запрещает async void методы делать. Рекомендованно возвращать Task, но не обязательно. Просто экспешшены могут в таком случае проглатываться.
И то их тоже можно ловить

Ivan
14.03.2018
15:11:32
Ага и на Task.Run(LoadData)

Кита
14.03.2018
15:13:32
внутри try{} catch() что запрещает написать? тем более в catch происходит обработка ошибок типа 404 или любых других

Ivan
14.03.2018
15:18:10
Дак я не спорю, оно будет и так работать. Но что мешает применять TAP правильно?

Кита
14.03.2018
15:19:11
что значит “правильно”

Ivan
14.03.2018
15:21:09

Кита
14.03.2018
15:21:13
Ключевой вопрос - приложение должно падать когда возникает неожидаемый эксепшн ?
Суть в том что приложение ДОЛЖНО падать когда возникает эксепшн которого мы не ожидаем. Его подхватит любой трэкинговый SDK, а в дебаге ты увидишь причину падения. Если используется Task то обязательно надо прокидывать эксепшн наверх по стэку вызовов. в async void страшного нет если он используется наверху стэка вызовов. Внутри конечно должны вызываться Таски.

Ivan
14.03.2018
15:32:55
При чем тут это? Есть конкретные рекомендации как правильно писать асинхронный код. Конечно твое дело следовать им или нет)

Кита
14.03.2018
15:32:56
в моем примере Repository.Load() это Task и не может быть иначе. Внутри этого метода тоже кэтчатся все исключения и пробрасываются наверх через throw. Внутри async void через try catch ловятся и обрабатываются с показом алертов на UI. Все. Незамысловатые такие правила.
рекомендации кого?

Google

Кита
14.03.2018
15:33:28
Документации?

Ivan
14.03.2018
15:33:31
Microsoft?

Кита
14.03.2018
15:34:05
Конкретнее
ссылка. абзац. пример

Ivan
14.03.2018
15:35:33
Тебя в гугле забанили? Tap c# и в путь

Кита
14.03.2018
15:36:07
Уверен что ты прочитал что-то типа не пытайтесь делать try catch вызова асинхронного void метода итд
Конечно. это логично

Ivan
14.03.2018
15:38:55

Кита
14.03.2018
15:41:15

Maksim
14.03.2018
17:00:37
Всегда, где это возможно нужно возвращать Task/Task<T>, если операция асинхронная, кроме обработчиков событий. Это бэст практис

Сирожа
14.03.2018
17:02:23
Доброго времени суток, коллеги. Родился такой вопрос - при добавлении большого числа дочерних элементов допустим к StackLayout приложение фризится на какое-то время, потом всё норм

Slava
14.03.2018
17:03:33

Сирожа
14.03.2018
17:03:53