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

Страница 1435 из 1888
Максим
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#

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: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
Меньше лямбд: Select(int.Parse)
За перформанс в курсе?

У лямбды быстрей, внезапно

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
в докладе у jetbrains видел, за год этак 14ый или 15ый
а чего тогда решарпер выдаёт предупреждение с метод груп?

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 будет предпочтительней

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

Понятно, что в случае захвата контекста не получится ничего кэшировать

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
как?

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

kaval
08.07.2017
10:06:16
Подскажите, допустим есть переменная: Type test = Type.GetType("Enemy"); Можно ли обратиться через "test" к статической переменной класса Enemy?
class TestA { public static int x = 20; } static void Main(string[] args) { Type t = typeof(TestA); Func<int> f = Expression.Lambda<Func<int»(Expression.Field(null, t.GetField("x"))).Compile(); Console.WriteLine("{0}", f()); Console.ReadLine(); }

через System.Linq.Expressions например

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

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
Анатолий
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
а как пишут?
ну для начала я бы вары использовал

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

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