
Bonart
13.05.2018
21:06:28
Ну для кого первый язык можно взять из серии Head First, но дальше один фиг Рихтер, Скит, потом Симан

Max
13.05.2018
21:06:54

Kirill
13.05.2018
21:09:56
Pro C# 7 норм книга?

RAFFREE
13.05.2018
22:00:33

Google

prak
14.05.2018
07:25:19

Paul
14.05.2018
07:26:08
clean -xfd и ребилдни кор

Max
14.05.2018
07:26:44
Delete Bin/Obj Foldens => Rebuild Application

Kirill
14.05.2018
07:40:40

Alexander
14.05.2018
07:41:30
Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'System.Memory, Version=4.0.1.0
Гуголь говоорит что все дело в версии моно и нужно ждать новую. вы слышали что-нибудь об этом?

Vlad
14.05.2018
08:20:38

Alexander
14.05.2018
08:20:59

Kirill
14.05.2018
08:34:32
https://github.com/xamarin/Xamarin.Forms/pull/2173
GestureRecognizers on a Span was finally merged. This was PR to add the functionality. Bindable Spans was also merged previously. These look scheduled for 3.1.0. Underline Labels and Span is still pending due to the PR author being on holiday, but looks like it should be sorted soon.
https://github.com/xamarin/Xamarin.Forms/pull/2221

Max
14.05.2018
08:41:37
Кто-нибудь ловил Exception равный null?
проверку на null компилятор выпиливает

Bonart
14.05.2018
08:42:21
А как это вообще возможно?

Alexander
14.05.2018
08:42:37
сегодня ловил в ios приложении

Google

Max
14.05.2018
08:42:57

Bonart
14.05.2018
08:43:11

Max
14.05.2018
08:43:49

Bonart
14.05.2018
08:44:34
.? - не фурычит?

Max
14.05.2018
08:45:05
.? - не фурычит?
да какая разница, компилятор считает, что проверка Execption на null не нужна и выпилывает при сборке

Bonart
14.05.2018
08:45:28
Компилятор прав, рантайм шуткует

prak
14.05.2018
09:11:27

Max
14.05.2018
09:14:35

prak
14.05.2018
09:57:37

Nikolai
14.05.2018
10:08:43
Может быть приколом дебаггера

vladimir
14.05.2018
10:11:43
У меня была подобная фигня, когда у меня было так:
try {
} catch (CustomException exception) {
} catch (Exception exception) {
}
и IntelliSense подхватывал exception не тот, на который навёл, а другой
проблема была в одноимённых переменных
переименование решало проблему
баг VS походу

Max
14.05.2018
10:12:11
но нагуглил, что mono бывает выплевает такое

Alexander
14.05.2018
11:27:31
всем привет. кто-нибудь знает что-то про NestedScroll в XF на Android? мне нужно прописать android:nestedScrollingEnabled="true" (https://stackoverflow.com/a/25436990) в xml - но в какой именно?

vladimir
14.05.2018
11:30:55
это для Xamarin Android XML разметки, не для XF
какая вообще цель?

Google

Alexander
14.05.2018
11:34:49
какая вообще цель?
есть scrollview, внутри которого еще один scrollview... у вложенного, на дроиде, не работает прокрутка. гугл подсказал, что нужно включить NestedScroll

Kirill
14.05.2018
11:35:17

Alexander
14.05.2018
11:37:29

vladimir
14.05.2018
11:38:05
так
https://stackoverflow.com/a/37431966

Kirill
14.05.2018
11:38:15

Alexander
14.05.2018
12:14:47
и да, лучше так не делать, но выхода другого не было
@BOOMikru прям спасибище!!!

Кита
14.05.2018
12:21:34

Kirill
14.05.2018
12:21:57

Alexander
14.05.2018
12:22:51
Для истории, код:
[assembly: ExportRenderer(typeof(ScrollView), typeof(CustomScrollView))]
namespace *имя_проекта*.Droid
{
public class CustomScrollView : ScrollViewRenderer
{
protected override async void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
this.NestedScrollingEnabled = true;
}
}
}
мало ли, кому понадобится

vladimir
14.05.2018
12:25:25

Кита
14.05.2018
12:27:47

Alexander
14.05.2018
12:28:02
а, понял, нейтив

Кита
14.05.2018
12:28:18

Олег
14.05.2018
13:54:32
всем привет. Хотел узнать, можно ли уже сейчас обновить vs до 15.7.1? Не стал обновляться до 0 версии, т.к. читал тут, что люди плюются на нее. Исправлены ли баги, скажите плз

Google

Alexander
14.05.2018
14:02:41

Artur
14.05.2018
14:03:14
Я обновился, проект полетел, захожу в параметры вкладка xamarin не работает)
Не обновляется пока

Олег
14.05.2018
14:03:50
нужно скачать кое-какие средства и компоненты, но он выбрасывает на банер "Чтобы продолжить, обновите Visual Studio Installer."

Alexander
14.05.2018
14:04:12

Олег
14.05.2018
14:05:02

Alexander
14.05.2018
14:06:15

Олег
14.05.2018
14:06:41
понял, спасибо!

Anastasiia
14.05.2018
14:10:45
Здравствуйте, возникла проблема с использованием SignalR в Xamarin Forms.
В главном меню приложения есть кнопка, ведущая на страницу (await Navigation.PushAsync(new Page())), где должно быть осуществлено подключение к серверу. На странице есть лейбл, в котором должно отобразиться "{username} подключился" после вызова onConnected с сервера. И вроде все работает, но текст меняется ТОЛЬКО когда я нажимаю кнопку возвращения на предыдущую страницу (мелькает быстренько, и все закрывается). После чего все страницы в главном меню при переходе становятся пустыми или вылезает исключение. Что я делаю не так?

RAFFREE
14.05.2018
14:17:29
попробуй так
Activity.RunOnUiThread(() => {
connectionLabel.Text = string.Format(...
});

vladimir
14.05.2018
14:18:57
это Forms
там надо Device.InvokeOnMainThread(() => {
});
кстати, зря делаете async-await в OnAppearing - это же UI поток
тем более OnAppearing может вызываться несколько раз (свернул, развернул приложение)
лучше в конструктор страницы вставьте
Task.Run(LoadData);
и сделайте отдельный метод
async Task LoadData() {
}

Anastasiia
14.05.2018
14:25:02
Спасибо, все работает :)

Кита
14.05.2018
14:25:08
OnAppearing - это UI поток. Да. Но async-awaitу это никак не помешает.

vladimir
14.05.2018
14:26:17
UI же застынет, пока будут данные ожидаться

Кита
14.05.2018
14:26:23
LoadData же. в этом методе никто не оперирует UIинстансами

Google

Кита
14.05.2018
14:27:11
создастся таск и в нем все выполнится

vladimir
14.05.2018
14:27:38
где создаться?

Кита
14.05.2018
14:27:58
Конкретно в этом примере HubConnection создастся в UI потоке ещё

vladimir
14.05.2018
14:29:48
а как же await hubConnection.Start() - не заморозит UI?
оно же будет ожидать его

Кита
14.05.2018
14:30:43

vladimir
14.05.2018
14:31:24
ну и что? оно будет его ожидать в UI потоке в любом случае

Kirill
14.05.2018
14:32:58


Кита
14.05.2018
14:39:31
public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine
{
// See comment on AsyncMethodBuilderCore.Start
// AsyncMethodBuilderCore.Start(ref stateMachine);
if (stateMachine == null) throw new ArgumentNullException("stateMachine");
Contract.EndContractBlock();
// Run the MoveNext method within a copy-on-write ExecutionContext scope.
// This allows us to undo any ExecutionContext changes made in MoveNext,
// so that they won't "leak" out of the first await.
ExecutionContextSwitcher ecs = default(ExecutionContextSwitcher);
RuntimeHelpers.PrepareConstrainedRegions();
try
{
ExecutionContext.EstablishCopyOnWriteScope(ref ecs);
stateMachine.MoveNext();
}
finally
{
ecs.Undo();
}
}
Короче в любом случае запустится AsyncTaskMethodBuilder
У него есть метод Start
на stateMachine.MoveNext(); запустится таск
Но главное как раз в том что до запуска таска ты находишься в UI потоке у которого есть доступ к UIконтексту, во время выполнения stateMachine.MoveNext();
ты выходишь из UI потока, а потом возвращаешься обратно. Короче разницы практически никакой нет(за исключением одного нюанса)
public async override void OnAppearing()//запуск из UI потока
{
await LoadData();
}
что public override void OnAppearing()//запуск из UI потока
{
LoadData();
}
где LoadData это Task


Pavel
14.05.2018
14:54:35
меня в джуновстве лупили за async void
хотя иногда приходится так делать

Кита
14.05.2018
14:55:35
И правила именования ещё если async void метод то лучше в конце помечать что он Async например

Bonart
14.05.2018
14:56:37
Там исключение процесс ушатает, в отличие от Task

Кита
14.05.2018
14:57:16

Bonart
14.05.2018
14:58:33
А еще лучше вместо Task использовать Task<Unit> - и не надо о Task без обобщения думать