Отключить макросы переменных в C# коде

Ande

Client
Регистрация
06.06.2017
Сообщения
36
Реакции
7
Баллы
8
Есть какой-нибудь способ полностью отключить обработку макросов в С# коде и заставить компилятор воспринимать макросы переменных как простую строку?
Или, в целях совместимости, добавить возможность обрабатывать конкретный кубик с движком 5.10.0.0? Насколько я понимаю, макросы в этой версии отключены по умолчанию:
Макросы в коде отключены в этой версии. Мы предупреждали, что хотим отключить. Использовать макросы в коде некорректно.
Скажем, пишешь в самом начале кубика C# "use strict" и макросы в этом кубике не работают.

Конечно использование макросов может быть удобным и в старых версиях движка, если я правильно понимаю, подобное использовалось постоянно. И обладая изрядной фантазией (и отсутствием чувства самосохранения, ибо баги ловить почти нереально) можно в одном кубике динамически записывать С# код в переменную, а в другом этот код исполнять. Однако было бы неплохо самостоятельно определять как будут обрабатываться макросы в каждом конкретном проекте/кубике.
 
Последнее редактирование:
Можно конкретнее описать о чем речь? О каких макросах?
Есть макрос переменной: {-Variable.test-}
Хочу что-бы в C# коде он обрабатывался как текст "{-Variable.test-}" а не как "значение переменной test"
upload_2017-8-1_13-53-20.png

project.Variables["test_2"].Value="{-Variable.test_1-}";
Результат:
upload_2017-8-1_13-54-37.png

Желаемый результат:
upload_2017-8-1_13-55-18.png
 

Вложения

  • upload_2017-8-1_13-52-56.png
    upload_2017-8-1_13-52-56.png
    1,1 KB · Просмотры: 475
  • upload_2017-8-1_13-53-36.png
    upload_2017-8-1_13-53-36.png
    3,1 KB · Просмотры: 789
Правда я сам не понял что за глубокую мысль пытается донести ТС
Сейчас можно в одном кубике записать код в переменную, а в другом воспроизвести код с помощью макроса этой переменной. Это можно использовать (хотя перспективы тонны багов пугают).
И мне бы хотелось иметь возможность контролировать этот процесс включая/выключая макросы переменных в отдельном кубике или во всем проекте.
 

Вложения

Сейчас можно в одном кубике записать код в переменную, а в другом воспроизвести код с помощью макроса этой переменной. Это можно использовать (хотя перспективы тонны багов пугают).
И мне бы хотелось иметь возможность контролировать этот процесс включая/выключая макросы переменных в отдельном кубике или во всем проекте.
Для этого есть project.Context А вы, простите, какую то х.... изобретаете
 
какую то х.... изобретаете
Я не изобретаю, а спрашиваю как это (обработку макросов) можно отключить в рамках своих проектов и просто привожу пример, почему не стоит вырубать эту фичу на корню (как было сделано в версии 5.10.0.0). Возможно не наилучший пример, но это было первое что пришло в голову.
 
Я не изобретаю, а спрашиваю как это (обработку макросов) можно отключить в рамках своих проектов
Насколько мне известно - никак. Но если уж очень хочется именно по-своему, можно просто в сниппете разделить литерал макроса, например так:
C#:
Развернуть Свернуть Копировать
project.Variables["text2"].Value = "{" + "-Variable.text-}";
Результат выполнения:
2017-08-01_14-29-15.png
 
Насколько мне известно - никак. Но если уж очень хочется именно по-своему, можно просто в сниппете разделить литерал макроса, например так:
Жаль, я надеялся, что есть способ попроще.
А насчет того, что очень хочется, я уже спрашивал здесь, о том можно ли (и зачем вообще) так делать. Вроде бы выяснилось, что можно и даже активно применяется:
да - это ответ на ваш вопрос в шапке топика) юзаю эту штуку постоянно, но у меня максимальная вложенность где-то в 3 этажа. больше не было. так что дальше уже тестируйте сами)
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)