有没有办法可以在运行时将一串代码转换成可执行代码?#/ p>
所以,如果我有一个谓词文件
This is normal text in a txt file
u => u.Contains("android") && u.Contains("webkit")
u => u.Contains("iphone") && u.Contains("webkit")
我想通过我的程序读取它,然后将每个谓词捕获为字符串,然后将其转换为代码。类似的东西:
string[] predicates = ///get file contentsa
foreach(var predicate in predicates)
{
if(userAgent.ConformsTo(eval(predicate))) return true;
}
答案 0 :(得分:2)
您可以使用CSharpCodeProvider
类,但是您需要在代码段周围构建相当多的额外代码,因为您必须提供完整的类。我为深度C#的“Snippy”工具做了这个,你可以download the source得到一个简单的例子来说明它是如何完成的。
答案 1 :(得分:0)