Да. Только не забывайте про trustworthy computing и возможность code injection. В 4.0 рекомендуется вызывать ExecutePermission.assert():
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)
{
...
}