Size: a a a

BY Microsoft .NET User Group

2020 August 25

DP

Dmitry Protko in BY Microsoft .NET User Group
Arciom Prudnikaŭ
а зачем заводить трактор, если ПВТ пока не трогают?
то есть лучше ждать пока раскулачат, а потом убегать?)
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Dmitry Protko
Чтобы получить кое-то поле, например статус объекта нужно сделать что-то вроде такого (это упрощённый вариант без использования кастомных фильтров, я так и не разобрался как они работают)
           using (var uow = GetUnitOfWork())
           {
               var statusFieldCode = Common.Dao.DbMetadata.FieldCode.PUBLICATION_ISSUE_STATUS;
               var queryable = uow.Repository.GetAll<ContentItem>();
               var statusCode = queryable.Single(_ => _.Id == contentItemId)
                   .FieldData.Single(_ => _.Field.Code == statusFieldCode).FieldListValues.Single().Code;
           }
На Swift конкретно эта строчка могла бы выглядеть так:
var statusCode = queryable.Single(\.Id == contentItemId)
                   .FieldData.Single(\.Field.Code == statusFieldCode).FieldListValues.Single().Code;
источник

DP

Dmitry Protko in BY Microsoft .NET User Group
Anton Burkin
На Swift конкретно эта строчка могла бы выглядеть так:
var statusCode = queryable.Single(\.Id == contentItemId)
                   .FieldData.Single(\.Field.Code == statusFieldCode).FieldListValues.Single().Code;
лучше не стало)
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Dmitry Protko
лучше не стало)
Ну нет теперь
_ => _…
источник

AB

Anton Burkin in BY Microsoft .NET User Group
\ это обращение к контексту типо.
источник

AB

Anton Burkin in BY Microsoft .NET User Group
ещё это можно через местную лямбду, тут это называется клоужур:
var statusCode = queryable.Single { $0.Id == contentItemId }
                   .FieldData.Single{ $0.Field.Code == statusFieldCode }.FieldListValues.Single().Code;
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Но мне больше через \ нравится. ( в этом кейсе )
источник

AB

Anton Burkin in BY Microsoft .NET User Group
$i - позволяет обращаться к i-му аргументу функции, не объявляя его. Анонимно по индексу типо.
источник

AB

Anton Burkin in BY Microsoft .NET User Group
В общем - Хочу такие фичи в c# - это было бы 12/10, а не блять ИМПЛЕМЕНТАЦИИ ИНТЕРФЕЙСА (УУУ КАК ЖОПА ГОРИТ ДО СИХ ПОР)
источник

I

Igor in BY Microsoft .NET User Group
Anton Burkin
На Swift конкретно эта строчка могла бы выглядеть так:
var statusCode = queryable.Single(\.Id == contentItemId)
                   .FieldData.Single(\.Field.Code == statusFieldCode).FieldListValues.Single().Code;
А ты кстати Свифт смотришь тк на iOS пишешь? Он же вроде нигде больше не используется
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Igor
А ты кстати Свифт смотришь тк на iOS пишешь? Он же вроде нигде больше не используется
Пишу на iOS/macOS/etc Apple OSs
источник

AP

Arciom Prudnikaŭ in BY Microsoft .NET User Group
Dmitry Protko
то есть лучше ждать пока раскулачат, а потом убегать?)
ну можно просто прорабатывать пути отхода и валить когда прижмёт
источник

I

Igor in BY Microsoft .NET User Group
Anton Burkin
В общем - Хочу такие фичи в c# - это было бы 12/10, а не блять ИМПЛЕМЕНТАЦИИ ИНТЕРФЕЙСА (УУУ КАК ЖОПА ГОРИТ ДО СИХ ПОР)
Так то в swift есть фичи поинтереснее типа protocol extension
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Igor
Так то в swift есть фичи поинтереснее типа protocol extension
Это да. Там много чего есть.
источник

I

Igor in BY Microsoft .NET User Group
Ну это наверное единственная интересная фича, тк позволяет делать типа type-class
Которые Мэдс все хочет завести в c# и уже года 1.5 про них рассказывает
источник
2020 August 26

Dv

Dr. Friedrich von Ne... in BY Microsoft .NET User Group
Dmitry Protko
Чтобы получить кое-то поле, например статус объекта нужно сделать что-то вроде такого (это упрощённый вариант без использования кастомных фильтров, я так и не разобрался как они работают)
           using (var uow = GetUnitOfWork())
           {
               var statusFieldCode = Common.Dao.DbMetadata.FieldCode.PUBLICATION_ISSUE_STATUS;
               var queryable = uow.Repository.GetAll<ContentItem>();
               var statusCode = queryable.Single(_ => _.Id == contentItemId)
                   .FieldData.Single(_ => _.Field.Code == statusFieldCode).FieldListValues.Single().Code;
           }
Обычная ECS, почему это необычно?
источник

Dv

Dr. Friedrich von Ne... in BY Microsoft .NET User Group
Бывает полезно такое покрыть кодогеном, чтобы самые стрёмные подробности спрятать.
источник

DP

Dmitry Protko in BY Microsoft .NET User Group
Dr. Friedrich von Never
Обычная ECS, почему это необычно?
Оно и в правду чём-то похоже на ECS или 1C предприятие. Есть даже админка, отдалённо напоминающая конфигуратор 1C
источник

Dv

Dr. Friedrich von Ne... in BY Microsoft .NET User Group
Dmitry Protko
Оно и в правду чём-то похоже на ECS или 1C предприятие. Есть даже админка, отдалённо напоминающая конфигуратор 1C
Так я это понимаю, у меня тоже на прошлой работе такой проект был :)
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Dr. Friedrich von Never
Так я это понимаю, у меня тоже на прошлой работе такой проект был :)
В морге? На там то, понятно!
источник