Страница 1 из 2
Какая версия C# используется в АД?
Добавлено: 21 мар 2019, 17:37
BugsDigger
Привет всем.
Собственно, subj: какая версия C# используется в АД?
Просто языковые фичи С#7 не работают...
И (<с наивным видом>), почему не использовать последнюю версию C#?
Re: Какая версия C# используется в АД?
Добавлено: 24 мар 2019, 12:17
ensh
В терминале используется net.4.0. В стратегиях используется встроенный в net компилятор скриптов, соответственно, тоже net 4.0.
Впрочем, использование 4.5 тоже не сильно продвинет ситуацию.
Насколько фишки C#5 и C#7 встроены в компилятор net и не используют поддержку Visual Studio нужно гуглить.
Re: Какая версия C# используется в АД?
Добавлено: 24 мар 2019, 12:31
BugsDigger
Привет, ensh, спасибо за информацию.
А почему, собственно, не используют последнюю версию?.. Казалось бы, д.б. совместимо, перекомпилять делов-то...
Re: Какая версия C# используется в АД?
Добавлено: 24 мар 2019, 13:09
ensh
Для обратной совместимости, типа есть пользователи у которых старая винда и старый фреймворк.
Поднять фрейморк - новая волна гнева, про убогий терминал, уволить всех тестировщиков и программистов - посмели поднять версию фреймворка, попробуй скачай и разберись какая нужна
Открою тссссс... секрет, версия виртуальной машины clr net c 2012 года не изменилась - вся та же 4-я, так что все эти фреймворки для программистов, а не для пользователей. Пользователи получают опосредованную выгоду - где-то стандартный алгоритм оптимизировали, где-то более корректно старую фичу реализовали, прикрутили новую, чтобы программистам меньше писать, и тд и тп... новые баги, старые косяки...
С точки зрения нового синтаксиса... пользовательский скрипт встраивается в жестко заданный класс с двумя методами в ограниченном неймспейсе, кроме фичи out var ничего внутри функции из нового синтаксиса и не заюзаешь. Мое мнение - новый скрипт не поможет никак, там и старого хватает с избытком, раньше люди на Фортране и Бейсике такое писали... а скрипт в стратегиях помощнее Фортрана будет.
Re: Какая версия C# используется в АД?
Добавлено: 24 мар 2019, 14:30
BugsDigger
Я прото наткнулся, что tuple нельзя "из коробки" сделать ключом в dictionary (хэша нету у него и сличения на равенство, как в последних версиях) и именованных элементов в tuple тоже нету ...
Абыдна, однако.
Переживу, конечно.
Re: Какая версия C# используется в АД?
Добавлено: 24 мар 2019, 15:40
ensh
давно уже пора писать свои сборки с классами и подключать к скриптам стратегий
Re: Какая версия C# используется в АД?
Добавлено: 24 мар 2019, 17:27
BugsDigger
ensh писал:
> писать свои сборки с классами и подключать
Пока не дошел до этого. Видимо, надеюсь обойтись доступными встроенными средствами...
А, кстати, как? Так же, как "инжекция" AD-сборок? (Кстати, а почему не все они доступны сразу?)
Я просто не очень представляю нетовскую механику. Можно ли подключить любую сборку и использовать ее, даже ту, что не использовалась при компиляции головного AD.exe? (Скорее всего ответ - да
)
Re: Какая версия C# используется в АД?
Добавлено: 25 мар 2019, 12:13
ensh
Сборку можно загрузить сразу - без проблем, а вот ее использование нужно прописывать в секции using или писать в коде и компилятор скрипта на это будет ругаться. Поэтому нужен небольшой финт в секции инициализации.
Можно грузить сборку и рефлекшеном доставать из нее классы, как тоже предлагалось.
По вашему кейсу, можно ограниченную порцию данных (два три поля) превратить в строку ииспользоват ее в качестве уникального ключа, если без сборок.
Re: Какая версия C# используется в АД?
Добавлено: 25 мар 2019, 18:53
BugsDigger
> рефлекшеном доставать
ОК, понятно, спасибо за пояснение.
> строку использовать в качестве уникального ключа
Да, так и делаю.
Re: Какая версия C# используется в АД?
Добавлено: 26 мар 2019, 05:10
AP_Bor
Доброго времени суток
BugsDigger » 24.03.2019, 17:27 писал(а):А, кстати, как?
Пока был занят, что-то пропустил.
Не пойму, что и куда подключаем, думал с этим вопросов уже нет.
Можно подробней, с примером.
► Показать
Кун Цю(Конфуций), 479 до н.э. писал(а):Всё не то, чем кажется и не наоборот.
Не все то, но не то все, чем кажется.
С наилучшими пожеланиями