让mono也能用DynamicExpression::ParseLambda

作者:V君 发布于:2014-7-22 13:29 Tuesday 分类:折腾手记

网上一直传的反射 System.Web.Extensions 私有类

 System.Web.Query.Dynamic.DynamicExpression 

中的 ParseLambda 方法来实现动态lambda表达式

Assembly asm = typeof(UpdatePanel).Assembly;

Type dynamicExpressionType =
    asm.GetType("System.Web.Query.Dynamic.DynamicExpression");

MethodInfo parseLambdaMethod = dynamicExpressionType
   .GetMethods(BindingFlags.Public | BindingFlags.Static)
   .Where(m => (m.Name == "ParseLambda")
            && (m.GetParameters().Length == 2))
   .Single()
   .MakeGenericMethod(typeof(T), typeof(Boolean));

var func = (Func<stringobject[], Expression<Func<T, bool>>>)
    Delegate.CreateDelegate(
       typeof(Func<stringobject[], Expression<Func<T, bool>>>)
       , parseLambdaMethod
    );

在Windows底下一直好好的发挥作用

不过最近在mono跑了爆空指针, 或许是类名不同或者压根就没实现吧

不管了, 试着扒出M¥类库的代码看看能不能用吧.

过程略. (反编译,修正编译器生成标识符,切断依赖) 还挺顺利的 乂D

拿去用吧: System.Web.Query.Dynamic.cs.zip 尽管还整理的不够到位

(错误提示口胡和编译经过) 乂D


好吧, 原来dbLinq项目里也有 这玩意 , 用它吧, 较靠谱


这个月0博文消灭乂D

标签: 软件开发 C# 数据库 mono LINQ

评论(0) 引用(0) 浏览(2086)

在树莓派上安装MediaWiki

作者:V君 发布于:2014-6-22 16:46 Sunday 分类:小服杂记

自从换工作后变得更忙了, 哪里还有时间搞自己的实现呀.. 

于是就用了维基百科的MediaWiki.

别看树莓这点性能, 其实页面加载速度还是挺理想的

阅读全文>>

标签: 树莓派 linux apache php mediawiki

评论(2) 引用(0) 浏览(2733)

令人抓狂的糟糕代码

作者:V君 发布于:2014-5-13 15:19 Tuesday 分类:填坑经验

今天被安排修一个旧项目的BUG(或变更)

啊啊 又要面对前人的邋遢代码了, 是在受不了, 贴出来一起挂人吧 

阅读全文>>

标签: 软件开发 C# 代码质量

评论(6) 引用(0) 浏览(1903)

不规则二维数组遍历组合(笛卡尔积)算法(非递归)

作者:V君 发布于:2014-5-12 14:14 Monday 分类:挖坑经验

最近需要用到生成一定规则的URL, 于是整了个算法.

由于网上找来的参差不齐, 各种参考后自己改出个总算能用的来.

阅读全文>>

标签: 软件开发 C# 算法 字符串处理

评论(2) 引用(0) 浏览(2366)

凶残的阿拉伯数字转大写算法(正则/ASCII)

作者:V君 发布于:2014-5-12 10:23 Monday 分类:挖坑经验

在一次需要用到人民币大写数字的时候查到的,太凶残不得不转啊 乂D

阅读全文>>

标签: 软件开发 C# 算法 字符串处理

评论(0) 引用(0) 浏览(2695)

Powered by emlog 去你妹的备案 sitemap