Тоже самое, с корректным оформлением:
X++:
try
{
permission = new ExecutePermission();
if (permission == null)
return ...;
pseudoFunc = "static real func() { return " + expression + "; }";
permission.assert();
if(comp.compile(pseudoFunc))
{
result = runBuf(expression);
}
else
{
...
}
CodeAccessPermission::revertAssert();
}
catch (Exception::Error)
{
...
}
Взято отсюда:
Результат арифметического выражения: "2*2" в 4. Как?
P.S. Т.е. не совсем тоже самое, скорее другой, чуть более надежный способ