我不知道有什么好方法
我知道用sql可以做到
select 要求的表达式 from 任意表
然后把这个值再取出来
这样可以的
我知道用sql可以做到
select 要求的表达式 from 任意表
然后把这个值再取出来
这样可以的
解决方案 »
- 请教一个绘制多图zedGraph的问题
- webBrowser加载后为什么执行不到webBrowser_DocumentCompleted
- VS2005 与 SQLserver2005 公用的封装问题
- MemoryStream和StreamReader问题:有数据但是ReadToEnd是空
- VC 多线程同时PING 不同IP,不应PING通的也响应数据
- **发现C#工程的三种图标,不知道代表什么意思?
- 如何判断一个目录具有哪些的权限(比如当前帐号是否可写,比如哪些帐号有哪些)?
- COOKIE 接收的很不稳定,请给我分析分析。搞定马上结贴!
- 如何打开一个现有的word文件,急用
- 请问什么是水晶报表?
- 请大家推荐一本介绍C#语法全面且有深度的书?
- gbl777进来!
a+b*(c-a) + aa.uf_getaa(a)也能计算吗
a+b*(c-a) + aa.uf_getaa(a)在 Pb 中可以计算,不知道在 c# 中可以不
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using System.Reflection;
using System.Text;namespace TestApp
{
public class Test
{
public static void Main()
{
string expression = "125.8 + 208.2 + 120.90";
string ret = Eval.Calc(expression).ToString();
Console.Write("{0} = {1} ",expression, ret);
}
} public class Eval
{
public static object Calc(string expression)
{
string className = "Calc";
string methodName = "Run";
// 创建编译器实例。
ICodeCompiler complier = (new CSharpCodeProvider().CreateCompiler());
// 设置编译参数。
CompilerParameters paras = new CompilerParameters();
paras.GenerateExecutable = false;
paras.GenerateInMemory = true; // 创建动态代码。
StringBuilder classSource = new StringBuilder();
classSource.Append("public class "+ className +"\n");
classSource.Append("{\n");
classSource.Append(" public object " + methodName + "()\n");
classSource.Append(" {\n");
classSource.Append(" return "+ expression + ";\n");
classSource.Append(" }\n");
classSource.Append("}"); System.Diagnostics.Debug.WriteLine(classSource.ToString()); // 编译代码。
CompilerResults result = complier.CompileAssemblyFromSource(paras, classSource.ToString());
// 获取编译后的程序集。
Assembly assembly = result.CompiledAssembly;
// 动态调用方法。
object eval = assembly.CreateInstance(className);
MethodInfo method = eval.GetType().GetMethod(methodName);
return method.Invoke(eval, null);
}
}
}
Runtime C# Expression Evaluator
http://www.codeproject.com/csharp/runtime_eval.asp