Я не могу найти ответ на мою проблему. В dotNet / C# можно ли проверить, была ли объявлена переменная какого-либо типа, а если нет, объявить ее? Спасибо
[Edit] В этом случае C# используется в качестве языка предварительного исполнения в Open Text CMS. Код C# можно использовать в любом модуле. Использование необъявленной переменной приводит к трудностям при отладке ошибок, равно как и двойное объявление переменной. Вот почему я хотел бы проверить.
[Edit2] Да, он, скорее всего, где-то скомпилирован, но ошибки генерируются (или, скорее, не генерируются) во время выполнения
[Edit3] Дальнейшее объяснение :
В открытом тексте каждая страница может содержать несколько модулей, несколько экземпляров модуля и один и тот же экземпляр модуля несколько раз. В каждом модуле вы можете использовать C# в качестве языка «предварительного исполнения». Это в основном очень простой сценарий для маневрирования вокруг недостатков OpenText. Вы вводите небольшие переменные, устанавливаете их в true или false, и через три строки пишете условие на основе переменной. Мы можем (и можем) объявить группу переменных в блоке инициализации страницы, но поскольку их так много, было бы полезно иметь возможность проверить, была ли объявлена переменная, а если нет, объявить ее.
I как идея изменить это на словарь ключ / значение, но это действительно большой сайт с множеством страниц / модулей и экземпляров, и я ищу рабочее решение, не меняя целиком.
Фактический код действительно Просто чаще всего это время:
var hasHeadline = false; // this will throw an error if hasHeadline was declared before
hasHeadline = true; // if some CMS condition is met. this will throw an error if hasHeadline wasn't declared
if(hasHeadline) { ** CMS code ** }
Как я уже сказал, это проявится во многих случаях, над которыми я не имею полного контроля. В результате «ошибка» будет заключаться в том, что весь кодовый блок удаляется со страницы.