Добавление динамических
возможностей в существующие
языки ( C#, VB.NET)
языками
Позволяет динамическим и
статическим языкам работать
вместе
Состоит из 3 компонент
Надстройка над CLR
3) Нужно ли просматривать иерархию
наследования?
4) А что это такое в параметрах?
5) Подходят ли эти параметры к методу
или делегату?
obj. Add (1, 2)
Ядро DLR
7) Явное или неявное?
8) Пользовательское преобразование?
9) ...
10) ...
obj. Add (1, 2)
Ядро DLR
L1: История CallSite-а
L2: История похожих CallSite-ов
Дорогая операция
обновления
L0 : Target
Дешевая операция
обновления
L0 : Target
L1 : Update
Дешевая операция
обновления
L0 : Target
L1 : Update
L2 : Update
GetMemenerBinder obj.Method
SetMemberBinder obj.Property = 100
GetIndexBinder obj[1] или obj[“key”]
Binders - ключевые компоненты,
отвечающие за выполнение операций
Ядро DLR - Binders
If (x is int && y is int)
{
return (int)x + (int)y
}
(int)x + (int)y
2) Исполнение файлов *.py или *.rb
3) Создание области исполнения (Scope)
4) Запись/чтение переменных из (Scope)
5) Компиляция кода
6) ...
Надстройка над CLR
Имеет 12 общих
операций м/д языками
Возможности
для авторов библиотек
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть