当前位置: 首页 > 编程语言 > C#

构建表达式树分享

时间:2023-04-10 14:46:44 C#

构建表达式树我一直在思考如何为更多的lambdas构建表达式树,例如下面的表达式树,更不用说可能有多个语句的东西了。例如:FuncGetBytes=x=>x.HasValue?BitConverter.GetBytes(x.Value):newbyte[1]{0xFF};我很欣赏任何想法。我建议阅读Expression类的方法列表,其中列出了所有选项,以及ExpressionTreesProgrammingGuide。至于这个具体的例子:以上就是C#学习教程:构建表达式树的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——/*buildourparameters*/varpX=Expression.Parameter(typeof(double?));/*构建主体*/varbody=Expression.Condition(/*条件*/Expression.Property(pX,"HasValue"),/*if-true*/Expression.Call(typeof(BitConverter),"GetBytes",null,/*没有泛型类型参数*/Expression.Member(pX,"Value")),/*if-false*/Expression.Constant(newbyte[]{0xFF}));/*构建方法*/varlambda=Expression.Lambda>(body,pX);Funccompiled=lambda.Compile();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: