Re[40]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 31.08.21 18:42
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Serginio1, Вы писали:


V>>>И да, сейчас получить указатель непосредственным образом можно только на статические методы.

V>>>Ниже в сырцах можно подсмотреть, как получить указатель на экземплярный метод и как вызывать затем.
S>> Нет не надо.

V>В твоих цитатах не объясняется — почему не надо.

Почему же не объясняется. При результате функции или или out или out параметров записываем результат в хранилище с поиском по интовому индексу.
Делаем статические методы где параметтры объекты в виде индексов и получение объектов из хранилища.
С генерацией методов врапперов. Натив вызывает эти методы.
Можно делать обертки над этими индексами, что бы в деструкторах удалять данные из хранилища и обнулять ссылки.

V>Например, есть способ построения конечного автомата на указателях на методы, представляющие состояние.

V>Т.е., когда автомат ходит по состояниям, он изменяет текущее состояние через запоминание адреса метода, отвечающего за обработку входящих сигналов, и формирующего, как один из результатов своей работы, следующее состояние. Такой способ построения автомата считается одним из самых эффективных, т.к. переход на след.состояние — это просто вызов ф-ии по адресу. Учитывая, что в .Net 6.0 открыли кишки AsyncMethodBuilder и теперь можно писать произвольные свои асинхронные автоматы, я ожидаю рано или поздно появления более эффективных реализаций, чем имеющиеся дефолтные сейчас. Т.е. техника continuations может зацвести в дотнете новыми красками.
Ну сейчас сделано как итератор с MoveNext. Каждый MoveNext просто меняет состояние.
Посмотрим. Спасибо заодно почитаю про AsyncMethodBuilder
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.