2

我正在开发一个 C# 项目,假设我有一个包含以下内容的字符串:

string content = "[IF FullName = 'Bob Smith']Hello my friend";
content += "[ELSEIF TotalPurchases > 1000]Dear valued customer";
content += "[ELSE]Dear [FirstName]";
content += "[ENDIF]";

假设我有一个键/值字典,其中键是“FullName”和“TotalPurchases”,值是“Jane Doe”和“500”。什么是解析内容和最重要的是评估“IF...ELSE...ENDIF”的好方法?

是否有我可以利用的开源项目,或者我应该编写自己的代码来解析内容?

4

2 回答 2

0

一种选择是将上面的“If Else End If”文本数据替换为实际的 C# if 语句逻辑,并在运行时编译动态构建的 C# 文本以评估 if 逻辑。处理这种动态 C# 编译的主要类是 CSharpCodeProvider 类

CsharpCodeProvider 信息 http://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider.aspx

于 2011-04-26T19:15:26.037 回答
0

我有点困惑。那真的是您的字符串,还是您在谈论将由该 C# 源代码生成的字符串?

我假设是后者,我可能只是自己解析它,因为它并不过分复杂且有些专业。还有一个我写的文本解析器助手类可以帮助你。

于 2011-04-26T19:08:40.640 回答