谁做过这样的逻辑

鲁虾 2009-04-09 02:16:31
例如类Value
Value.A=1
Value.B=5
Value.C=10
数据库中取出的运算公式串为
(A=1) and (B>2) and (C<6)
怎么样替代

算出逻辑值来
。。。。。
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿色夹克衫 2009-04-09
  • 打赏
  • 举报
回复
将1,2,6作为类初始化时的参数new Value(1,2,6),如果要加入逻辑符号的话,就改为new Value(1,2,6,sya,syb,syc)

将A B C换为属性,在赋值的时候可以判断是否符合条件
wade_li 2009-04-09
  • 打赏
  • 举报
回复
是这个意思?
(Value.A==1)& (Value.B>2) & (ValueC <6)
鲁虾 2009-04-09
  • 打赏
  • 举报
回复
找到了一个
public class Eval
{
public static object GetValue(string value)
{
string codeSnippet = "using System; " + "\r\n" +
"namespace CzG {" + "\r\n" +
" public class Eval" + "\r\n" +
" {" + "\r\n" +
" public Eval(){} " + "\r\n" +
" public object GetValue()" + "\r\n" +
" {" + "\r\n" +
" return " + value + ";" + "\r\n" +
" }" + "\r\n" +
" } }";
CodeSnippetCompileUnit unit = new CodeSnippetCompileUnit(codeSnippet);
ICodeCompiler compiler = new CSharpCodeProvider().CreateCompiler();
CompilerParameters para = new CompilerParameters();
para.ReferencedAssemblies.Add("System.dll");
para.GenerateInMemory = true;
para.GenerateExecutable = false;
para.OutputAssembly = "Eval.dll";

Assembly asm = compiler.CompileAssemblyFromDom(para, unit).CompiledAssembly;

Type type = asm.GetType("CzG.Eval");
MethodInfo mi = type.GetMethod("GetValue", BindingFlags.Public | BindingFlags.Instance);

object obj = asm.CreateInstance("CzG.Eval");
return mi.Invoke(obj, null);
}
}


bool a= Convert.ToBoolean(Eval.GetValue("125<23" ));
CeShenBeiWang 2009-04-09
  • 打赏
  • 举报
回复
mark !
blestcc 2009-04-09
  • 打赏
  • 举报
回复
什么公式?公式做什么用的?算出什么邏輯值?

110,531

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧