0

私は何百もの異なる計算が含まれるアプリを開発しており、アプリの管理者が数式を指定してこれらの計算を微調整できるようにしたいと考えています。

たとえば、私のデータベーステーブルには価格と数量が含まれています。列「X」の1つに、「過去7日間の(価格*数量)」が含まれている可能性があります。アプリの管理者が計算を「7日」から「14日」に変更できるようにするにはどうすればよいですか?

VB.NET内で計算を動的にする方法はありますか、それともストアドプロシージャに依存し、変更が必要な場合にそれらのプロシージャを変更するコードを作成する必要がありますか?このタイプのシナリオのベストプラクティスは何ですか?

理想的には、ここに質問を投稿するときに使用する「タグ」ボックスに似たものを使用して、使用可能なフィールドを表示し、それらの間に数学演算子を追加して計算を実行したいと思います。複雑さが増す可能性がありますが、新しい数式の作成に使用できるように、既存の計算が上書きされない場合は便利です。

どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

1

ここまたはここでeval説明されているような関数を使用できます。

安全な方法で実装してください。明らかな理由により、ユーザーに任意のコードの実行を許可することは危険な場合があります。

于 2012-06-11T22:58:02.960 に答える
0

Windowsワークフローには、XMLベースのルール定義である優れた「ルール」機能があります。

http://msdn.microsoft.com/en-us/library/aa480193.aspx http://stackoverflow.com/questions/1017056/parse-and-execute-formulas-with-c-sharp

あなたはそれを利用することができます。または、独自のXMLベースの式エンジンを構築することもできます。これに似ています:

http://www.codeproject.com/Articles/25578/Dynamic-Formula-Processing-Library

于 2012-06-11T22:52:55.537 に答える