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」で、値が「JaneDoe」と「500」であるKey/Valueディクショナリがあるとします。コンテンツを解析し、最も重要なこととして「IF ... ELSE ... ENDIF」を評価するための良い方法は何でしょうか?

活用できるオープンソースプロジェクトはありますか、それともコンテンツを解析するために独自のコードを作成する必要がありますか?

4

2 に答える 2

0

1つのオプションは、上記の「If Else EndIf」テキストデータを実際の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 に答える