
Максим
07.07.2017
21:32:24
Ребят, кто в WPF разбирается.
Когда обычно используют RoutedCommands, а когда - свои классы команд, реализующие ICommand?
Насколько я понял, RoutedCommand не определяет функционал, который будет исполняться, а предоставляет события, на которые могут подписаться другие методы. Типа, если команда вызвалась, если изменилось ее состояние и т.д.
Но в чем, блин, преимущество перед обычными собственными командами, если для каждой из них можно определить такой же функционал с событиями?

Летучая
07.07.2017
21:39:22
В том, что за тебя это уже определили, наверное

Google

Максим
07.07.2017
21:40:21
Я, наверное, не совсем точно выразился
Если мы в собственном классе команд так и так определяем событие CanExecuteChanged, и все нужные нам элементы тоже привязаны к этой команде, то при изменении состояния команды на (CanExecute == false) мы не сможешь вызвать это действие из любого элемента, который к нему привязан
Зачем тогда нужны эти события, которые поставляет RoutedCommand?
Ладно, забейте, сам разберусь

Anton
08.07.2017
00:15:34
Извини, но это гуглится за секунды
https://stackoverflow.com/questions/1135983/wpf-icommand-vs-routedcommand
А еще есть проект на codeproject

Eugene
08.07.2017
04:55:57
Ребят, хочу попробовать силы в xamarin, посоветуйте канал или сайт где годно объясняют как его юзать.

Donald
08.07.2017
04:58:07
Могу только чат сказать
@xamarin_russia

An
08.07.2017
04:59:09
о, а так можно было?
ребят, посоветуйте чат для дау... для начинающих в c#

Viktor
08.07.2017
04:59:22
(но это не точно)

Google

An
08.07.2017
04:59:47
окей, как вводить массивы?
))0

Viktor
08.07.2017
05:00:15
не знаю, как нравится, наверное

An
08.07.2017
05:00:55
серьезно, я искала ев первой страничке в гугле, и не нашла...
как заполнять массив при вводе строки с пробелами, а не отдельных строк?

Viktor
08.07.2017
05:01:45
разбей строку
string.Split(...)
ванлайнер без обработки ошибок:
var intArray = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray()

An
08.07.2017
05:04:27
класс. спасибо)

Vasiliy
08.07.2017
05:25:48
поставил превью по глупости 2 нет кора, как откатиться без боли на 1.1?

Роман
08.07.2017
06:04:05

Влад
08.07.2017
06:06:29
Ох*енно. (Нет)
Не зря обработчик эксепшмнов поставил.

Sergey
08.07.2017
07:38:38

Влад
08.07.2017
07:40:21
Хз. Видимо Json, который в либе TelegramAPI, тупит, и не может спарсить что-то.

Sergey
08.07.2017
07:43:07
А задача то какая?)
Бота пишешь?)

Влад
08.07.2017
07:55:49

Vault
08.07.2017
08:13:28
Меньше лямбд: Select(int.Parse)

Google

Vault
08.07.2017
08:14:02
Блэт

Viktor
08.07.2017
08:49:08
У лямбды быстрей, внезапно

Friedrich
08.07.2017
08:57:59
Быстрей чем что?

Роман
08.07.2017
09:00:07

Viktor
08.07.2017
09:00:34
в докладе у jetbrains видел, за год этак 14ый или 15ый

Friedrich
08.07.2017
09:01:51
Что с чем мы сравниваем-то?

Роман
08.07.2017
09:02:10

Viktor
08.07.2017
09:02:23

Friedrich
08.07.2017
09:14:12
Взгляните сюда: https://sharplab.io/#v2:CYLg1APgAgDABFAjAbgLAChYMQOgDICWAdgI5qbxIAs5UAzAgExwDCcA3hnN3IQM4AXADxIYAPjgAPOAF44RAKYB3XgUEjE4jgCJE2gDRxtjA0braAvuR4IG/YcQESAsogAUASg5cbPKAHYpHABlBQAbBQBjATdHHAAFAEMAJz4FDxwAFQB7e09rHgsfbmLbVXVHF0ZPb3RfP0DJEPComL5ZCTik1IU3Pg8MnLyPAu4i9AsgA===
Собственно, из декомпилята видно, почему лямбда может быть быстрее.
Потому что method group conversion на каждый вызов создаёт новый делегат, а лямбда его переиспользует.

Ilya
08.07.2017
09:20:17
будет быстрее для циклов с Select, а для больших коллекций одинаково
я бы даже сказал, что method group будет предпочтительней

kaval
08.07.2017
09:22:46

Nikita
08.07.2017
09:23:58

Friedrich
08.07.2017
09:24:44
Обсуждается конкретный кейс с method group; очевидно, что он не может ничего захватывать.
Понятно, что в случае захвата контекста не получится ничего кэшировать

Ilya
08.07.2017
09:25:24

Viktor
08.07.2017
09:25:35

Google

Friedrich
08.07.2017
09:25:45
Да.

Viktor
08.07.2017
09:25:45
тьфу, не туды адресовал

Nikita
08.07.2017
09:41:23
решарпер предлагает заменить на методгруп

Admin
ERROR: S client not available

Nikita
08.07.2017
09:41:29
из-за того что там будет два вызова
один на лямбду, другой обычный в лямбде
и инлайнинга не будет

Vlod
08.07.2017
09:52:24
Подскажите, допустим есть переменная:
Type test = Type.GetType("Enemy");
Можно ли обратиться через "test" к статической переменной класса Enemy?

Nikita
08.07.2017
09:53:45
Type test = typof( "Enemy"); не скомпилируется
"статических переменных" в C# не бывает, есть поля и свойства
к обоим можно стучаться через рефлексию

Vlod
08.07.2017
09:55:06
как?

Friedrich
08.07.2017
10:03:50

Vlod
08.07.2017
10:05:17
спасибо

kaval
08.07.2017
10:06:16
через System.Linq.Expressions например

Vlod
08.07.2017
10:07:19
оке, спас

alix
08.07.2017
10:07:35
или дотнет2

Oleksandr
08.07.2017
10:07:50
это шарп

Google

alix
08.07.2017
10:08:00

Oleksandr
08.07.2017
10:08:15
почему?

alix
08.07.2017
10:08:25
на седьмом так не пишут

kaval
08.07.2017
10:08:36

Friedrich
08.07.2017
10:09:13

Анатолий
08.07.2017
10:09:30
Решарпер появился для 2017 студии, а я слоу
Уже в апреле

Friedrich
08.07.2017
10:09:53
Решарпер для 2017 студии появился ещё до её релиза ~_~
(ну, там поначалу были мелкие косяки на синтаксисе C# 7, но довольно быстро починили)

Анатолий
08.07.2017
10:10:25
Ещё до 2017? ))

Friedrich
08.07.2017
10:10:49
До релиза. Решарпер работал на предварительных сборках.

alix
08.07.2017
10:11:38
Эта группа больше не существует