我找不到我的问题的答案。在 dotNet/C# 中,是否可以检查变量是否已声明为某种类型,如果没有,请声明它?谢谢
[编辑] 在这种情况下,C# 被用作 Open Text CMS 中的预执行语言。C# 代码可以在任何模块中使用。使用未声明的变量会引发难以调试的错误,双重声明变量也是如此。这就是我想检查的原因。
[Edit2] 是的,它很可能是在某个地方编译的,但是在运行时会抛出(或者更确切地说不抛出)错误
[Edit3] 进一步说明:
在 Open Text 中,每个页面可以包含多个模块、一个模块的多个实例以及一个模块的同一实例多次。在每个模块中,您都可以使用 C# 作为“预执行”语言。这主要是非常简单的脚本,可以绕过 OpenText 的失败。您引入小变量,将它们设置为 true 或 false,三行之后根据变量编写条件。我们可以(并且确实)在页面的初始化块中声明一堆变量,但由于变量太多,因此能够检查是否声明了变量,如果没有声明它,将会有所帮助。
我喜欢将其更改为键/值字典的想法,但这是一个非常大的站点,其中包含大量页面/模块和实例,我正在寻找一个可行的解决方案而不改变整个事情。
大多数时候,实际的代码非常简单:
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 ** }
正如我所说,这将出现在我无法完全控制的多个实例中。产生的“错误”将是整个代码块从页面中剥离。