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

Ande

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

Конечно использование макросов может быть удобным и в старых версиях движка, если я правильно понимаю, подобное использовалось постоянно. И обладая изрядной фантазией (и отсутствием чувства самосохранения, ибо баги ловить почти нереально) можно в одном кубике динамически записывать С# код в переменную, а в другом этот код исполнять. Однако было бы неплохо самостоятельно определять как будут обрабатываться макросы в каждом конкретном проекте/кубике.
 
Последнее редактирование:

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 856
Баллы
113
Можно конкретнее описать о чем речь? О каких макросах?
 

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 162
Благодарностей
743
Баллы
113

Ande

Client
Регистрация
06.06.2017
Сообщения
36
Благодарностей
7
Баллы
8
Можно конкретнее описать о чем речь? О каких макросах?
Есть макрос переменной: {-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
 

Вложения

Ande

Client
Регистрация
06.06.2017
Сообщения
36
Благодарностей
7
Баллы
8
Правда я сам не понял что за глубокую мысль пытается донести ТС
Сейчас можно в одном кубике записать код в переменную, а в другом воспроизвести код с помощью макроса этой переменной. Это можно использовать (хотя перспективы тонны багов пугают).
И мне бы хотелось иметь возможность контролировать этот процесс включая/выключая макросы переменных в отдельном кубике или во всем проекте.
 

Вложения

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 162
Благодарностей
743
Баллы
113
Сейчас можно в одном кубике записать код в переменную, а в другом воспроизвести код с помощью макроса этой переменной. Это можно использовать (хотя перспективы тонны багов пугают).
И мне бы хотелось иметь возможность контролировать этот процесс включая/выключая макросы переменных в отдельном кубике или во всем проекте.
Для этого есть project.Context А вы, простите, какую то х.... изобретаете
 

Ande

Client
Регистрация
06.06.2017
Сообщения
36
Благодарностей
7
Баллы
8
какую то х.... изобретаете
Я не изобретаю, а спрашиваю как это (обработку макросов) можно отключить в рамках своих проектов и просто привожу пример, почему не стоит вырубать эту фичу на корню (как было сделано в версии 5.10.0.0). Возможно не наилучший пример, но это было первое что пришло в голову.
 

LaGir

Client
Регистрация
01.10.2015
Сообщения
211
Благодарностей
851
Баллы
93
Я не изобретаю, а спрашиваю как это (обработку макросов) можно отключить в рамках своих проектов
Насколько мне известно - никак. Но если уж очень хочется именно по-своему, можно просто в сниппете разделить литерал макроса, например так:
C#:
project.Variables["text2"].Value = "{" + "-Variable.text-}";
Результат выполнения:
2017-08-01_14-29-15.png
 

Ande

Client
Регистрация
06.06.2017
Сообщения
36
Благодарностей
7
Баллы
8
Насколько мне известно - никак. Но если уж очень хочется именно по-своему, можно просто в сниппете разделить литерал макроса, например так:
Жаль, я надеялся, что есть способ попроще.
А насчет того, что очень хочется, я уже спрашивал здесь, о том можно ли (и зачем вообще) так делать. Вроде бы выяснилось, что можно и даже активно применяется:
да - это ответ на ваш вопрос в шапке топика) юзаю эту штуку постоянно, но у меня максимальная вложенность где-то в 3 этажа. больше не было. так что дальше уже тестируйте сами)
 

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