サイトー
про ienumerable (где тоже можно про getenumerator объявить) Тепляков вроде предполагал что это нужно для каких-то внутренних оптимизаций фреймворка
Hog
サイトー
со struct мне кажется потому что хоть и можно имплементировать интерфейс, приведение к интерфейсу выделит память в куче
サイトー
а так можно уточкой, кря кря
x
x
энумерабл просто частный случай
x
что-то типа замены билдеров для с#
Hog
Экстеншон метод. Интерфейс ни при чём
x
ну. А я о чем?
Hog
А там наоборот.
Hog
Какая-то сверхнеявная имплементация интерфейса. Или я что-то не так понял.
x
где - там? в диспозабле? что-то я не проснулся ещё сори
Hog
В той новой фиче. Нет там интерфейса - достаточно метод диспоз.
Aleksandr
Aleksandr
Пример можно?
Aleksandr
Сигнатуры методов из linq просто с тобой не согласны
x
Ну я хз почему в данном случае нельзя просто интерфейсом обойтись
кстати вот почему ещё: я могу для своего класса реализовать только select например, и всё будет работать, допустим bind мне не нужен (он же селектМэни) просто при написании
from a from my class
from b from myClass...
компилятор мне не даст это сделать.
С интерфейсами бы пришлось перенаследоваться или множественн наследоваться или писать пустые реализации с эксепшеном. а так всё работает, расширяешь по мере надобности.
Vladislav
Aleksandr
Select не надо реализовывать
Aleksandr
Linq использует метод расширения Select
Aleksandr
Его никак не переопределить
Ayrat
Ayrat
То есть ты свой линк можешь написать изи
Ayrat
А вот заставить айДиспозабл интерфейс работать без айДиспозабл интерфейса тяжко
Ayrat
Называется дак тайпинг
Ayrat
Утиная типизация
Ayrat
Которая в сишарпе существует там где разрешат
x
Ayrat
Вот сейчас разрешили для реф страктов
x
Ну
Ayrat
Aleksandr
"Если что-то плавает как утка, летает как утка и крякает, значит это утка" (с)
Ayrat
Ayrat
Линк никак с утиной типизацией на связан
x
Линк тут при чем?
При том что он работает на любом типе у которого есть экстеншон метод Селкт.
Ayrat
Ayrat
Тащите галоперидол) извини
Ayrat
Я бросаю знамя объяснителя, кто хочет, поднимайте
Aleksandr
Ну, кстати
Aleksandr
Свечку не держал
Igor
Aleksandr
Но возможно это так и есть)
Ayrat
А где он не права то?
Ну например при чём тут линк и наличие явно объявленного метода расширения селект
Aleksandr
Кажется, linq как минимум делает исключение для queryable
Igor
Ayrat
Aleksandr
Да, а как осуществить выбор между ними?
Vladislav
Ayrat
Vladislav
Пример дайте. Я не понимаю происходящего
Aleksandr
Хороший вопрос
При трансляции из квери синтаксиса, я имею ввиду
サイトー
https://sharplab.io/#v2:CYLg1APgAgDABFAjAbgLACgNQMwIExwDCcA3hnBQrlACxwCyAFAJSnmUcBuAhgE5wBnAPYBXXgGMApnAC8cAHaSA7g24BPAEaSAPBqFCANgD5GAF14jJzNOgCQtnv16SBIg6dlwAZryEBbOAAPOABLeUFRCWkBSQNJcQ9GAEJA5gA6ABUhAGVzMIBzFht7Z1d3NIBJU0k/NIARET8AByL2CgBfDE7MdBxBSW444HxVTR0MowwyOzDq3nlBuD1DOAAJbgEqmtI4fMlTZDhu21nJecWMuC2Akl39w+6MWz76dS0WJ+n7UwALEIE0utNtUAnIvIMYsVHnYXm9JIxLiEQcxPk8Tl44IwkdsZHJ5G4DCi7N8fr4VIoVABBXj5RqSeSmAByBIAooEpE1TCEhPJGAs/JIhF4scjrBg0b9/oCNtdPOZLMVbJKAbK5Ni/FDxTDcK8xtoMgAlFxuUxGODZWLxUz6o1lU2MKAAVn1ABo4Ibje4zTE4gkhLwibYvujMcrpcCaoH7FAAOwKZSjLQ2z32n1W/1mP4q0WK2IxNHPOMUxPjW0mkxiuzddpAA
Aleksandr
サイトー
вот пример как есть линк, но нет ienumerable
Igor
サイトー
можно, я просто отсюда пример взял http://blog.ploeh.dk/2018/03/26/the-maybe-functor/
Igor
Я только не понял, годится ли ext-method для нового disposable
x
гнобят почом зря.
サイトー
иди лева
Ayrat
Я наконец понял о чём вы.
вы о квери синтаксисе и утиной типизации для него
@megasuperlexa извини пожалуйста!
Ayrat
ты прав, там тоже утиная типизация, да
Hog
Ayrat
x
Ayrat
я умею признавать неправоту
Ayrat
это очень просто
Ayrat
взял и признал
Hog
Нет ничего проще, чем бросить курить!
Hog
Я просто никогда «обычный» линк не использовал - мне флюент больше по душе
サイトー
та же херня
хотя джойны по-моему там поприятнее
Aleksandr
А как же let'ы?
Hog
Анонимный класс и дальше :)