Vladislav
А остальное новое
Vladislav
Так сложилось
Vladislav
В самом сдк
Roman
То шо замарин андроид и айос на старом
Это у вас или они вообще не умеют на новый формат?
Roman
А, понял
Roman
Кучеряво живёте
TES
проблема проектов на сишарпе ещё что нихуя не понятно куда смотреть, все по папочкам файлам и в алфавитном порядке бля
Так это же хорошо. Всё разбито по слоям и абстракциям. Есть явная точка входа. В проект на шарпах вникать пару часов. Но да, говнокод всегда написать можно
TES
А вот как разобраться в простыне из 100+ функций...
Ayrat
А вот как разобраться в простыне из 100+ функций...
а вот как разобраться в простыне из 100+ классов...
Ayrat
в алфавитном порядке
TES
а вот как разобраться в простыне из 100+ классов...
Классы хоть как-то группируют методы. И большинство из них будут реализациями интерфейсов. Интерфейсы где-то используются. Так можно проследить логику приложения от начала до конца
Roman
по-моему парень троллит
Ayrat
По-моему тоже
TES
Я серьёзно
Ayrat
на серьёзных щах такое затирает
Ayrat
Классы хоть как-то группируют методы. И большинство из них будут реализациями интерфейсов. Интерфейсы где-то используются. Так можно проследить логику приложения от начала до конца
Модули группируют функции. Большинство будет реализациями логики. Логика где-то используется. Так можно проследить логику от начала до конца.
TES
Модули группируют функции. Большинство будет реализациями логики. Логика где-то используется. Так можно проследить логику от начала до конца.
как я понял, модуль - это просто часть неймспейса. перемести функцию из одного неймспейса в другой и на её работе это никак не отразится. ты не можешь понять для чего используется функция, просто посмотрев на её сигнатуру. Из-за отсутствия типов a'->b' выглядит максимально запутано. И тебе нужно искать где она вызывается, в каком контексте используется(с какими данными), чтобы понять для чего её создавали.
TES
если что, в фарше чуть меньше недели. не бейте
TES
Модуль это статический класс в терминах дотнета
готов поклястся, что где-то видел что-то подобное: type MyType = static member this.MyMember =...
Hog
И чо?
TES
то есть модуль - это статический класс, а тайп - это, как бы, динамический, но со статическими методами?
TES
А в чем больше?
ну, в шарпах уже несколько лет
Hog
ну, в шарпах уже несколько лет
А по ощущениям - несколько недель
TES
А по ощущениям - несколько недель
сорян, что не оправдал ожиданий(
Roman
Модуль это статический класс в терминах дотнета
Кстати, сравнительно недавно узнал, что в дотнете нет статических классов. Это просто abstract sealed
Igor
потому, что типов нет. не знаю, мож это просто с непривычки
А куда делись? В любой IDE будут показаны выведенные типы (vscode/rider/vs)
Viacheslav
то есть модуль - это статический класс, а тайп - это, как бы, динамический, но со статическими методами?
1. Ты можешь и type сделать статическим 2. Методы в type не обязательно статические
Hog
Кстати, сравнительно недавно узнал, что в дотнете нет статических классов. Это просто abstract sealed
Ну внутре мож, но в ц# можно статик класс написать :) а абстракт силд это ваще оксюморон
Sergey
потому, что типов нет. не знаю, мож это просто с непривычки
эм... откуда типов нет? это не динамика же
Viacheslav
Ну внутре мож, но в ц# можно статик класс написать :) а абстракт силд это ваще оксюморон
Это получается очередной сахар) в ф#, кстати, можно написать абстракт силд
TES
Да - методы могут быть и статическими. И чо?
да понятно, что могут. меня в замешательство вводят именно статические классы в виде модулей. я слабо понимаю зачем они. если бы вместо них был именно неймспейс и сразу метод ы в нём. что бы поменялось?
🇺🇦 Дмитрий
можете мне обьяснить, если module - статик класс, почему в нем запрещены перегрузки?
Vladislav
Потому что каррирование
🇺🇦 Дмитрий
и почему перегрузка с каррированием не работает в классе
TES
типы есть, куда бы они делись
да, они есть, но где-то в глубинах компиляции. в коде функции их нет
🇺🇦 Дмитрий
это вы про 3 кейс
🇺🇦 Дмитрий
а первый и второй
🇺🇦 Дмитрий
в первом ведь нет карирования
Ayrat
можете мне обьяснить, если module - статик класс, почему в нем запрещены перегрузки?
потому что в фшарпе разрешены только member overload, а не function overload
Ayrat
(вот и всё)
Ayrat
перегружать члены класса можно.
Hog
перегружать члены класса можно.
Он сказал «член» гыгы
TES
Захочешь - будут
да, но если ты смотришь на уже готовый код. написанный не тобой
Ayrat
ну только если ты не в блокноте ебашишь
Viacheslav
Ayrat
может ты думаешь что var это динамический тип???
Hog
Два года в шарпах :)))
🇺🇦 Дмитрий
DU без "of" можно юзать как enum?
Igor
можете мне обьяснить, если module - статик класс, почему в нем запрещены перегрузки?
> если module - статик класс, почему в нем запрещены перегрузки? Ну и не стоит на это полагаться, это же тонкости реализации в clr
🇺🇦 Дмитрий
просто enum match ломает
Hog
Вернее есть, но извне недоступен
Ayrat
DU без "of" можно юзать как enum?
type A = A | B // не енум type A = A = 0 | B = 1 //енум
Hog
type A = A | B // не енум type A = A = 0 | B = 1 //енум
Там же ещё какой-то тэг внутри
🇺🇦 Дмитрий
когда enum то матч говорит о возможных кейсах которые происходят изза каста
Ayrat
🇺🇦 Дмитрий
и приходится ставить _ -> ....
Ayrat
а у енумов просто эээ. число
Ayrat
енумы они такие
🇺🇦 Дмитрий
и добавив кейс в енуме у меня ничего не горит, а ДОЛЖНО
Viacheslav
и приходится ставить _ -> ....
В енум можно любое значение низлежащего типа положить