欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c#反射表達(dá)式樹模糊搜索示例

 更新時(shí)間:2014年02月25日 10:39:14   作者:  
這篇文章主要介紹了c#反射表達(dá)式樹模糊搜索示例,反射實(shí)體T,非datetime字段反射獲取表達(dá)式樹,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

public static Expression<Func<T, bool>> GetSearchExpression<T>(string SearchString)
        {
            Expression<Func<T, bool>> filter = null;

            if (string.IsNullOrEmpty(SearchString)) return null;
            var left = Expression.Parameter(typeof(T), "m");

            Expression expression = Expression.Constant(false);
            T obj = default(T);
            var type = typeof(T);
            obj = (T)Activator.CreateInstance(type);
           var propertyInfos = type.GetProperties();

            foreach (var propertyInfo in propertyInfos)
            {

                if (propertyInfo.Name.ToLower() == "id" || propertyInfo.PropertyType == typeof(DateTime)) continue;
                Expression tostring = Expression.Call
         (
            Expression.Property(left, typeof(T).GetProperty(propertyInfo.Name).Name),

           typeof(object).GetMethod("ToString", new Type[] { })

         );
                Expression right = Expression.Call

                      (

                          tostring,

                        typeof(string).GetMethod("Contains", new Type[] { typeof(string) }),

                        Expression.Constant(SearchString)

                      );
                expression = Expression.Or(right, expression);
            }

            filter = Expression.Lambda<Func<T, bool>>(expression, new[] { left });

            return filter;

        }

相關(guān)文章

  • C#實(shí)現(xiàn)接收QQ郵件的示例代碼

    C#實(shí)現(xiàn)接收QQ郵件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C#如何使用pop協(xié)議來實(shí)現(xiàn)一下接收QQ郵件的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-08-08
  • C#中的const和readonly關(guān)鍵字詳解

    C#中的const和readonly關(guān)鍵字詳解

    本文詳細(xì)講解了C#中的const和readonly關(guān)鍵字,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • C#正則表達(dá)式獲取下拉菜單(select)的相關(guān)屬性值

    C#正則表達(dá)式獲取下拉菜單(select)的相關(guān)屬性值

    這篇文章主要介紹了C#正則表達(dá)式獲取下拉菜單(select)的相關(guān)屬性值,比如可以獲得name屬性的值、value值、指定值,需要的朋友可以參考下
    2014-07-07
  • 如何利用C#正則表達(dá)式判斷是否是有效的文件及文件夾路徑

    如何利用C#正則表達(dá)式判斷是否是有效的文件及文件夾路徑

    項(xiàng)目中少不了讀取或設(shè)置文件路徑的功能,如何才能對(duì)輸入的路徑是否合法進(jìn)行判斷呢?下面這篇文章主要給大家介紹了關(guān)于C#利用正則表達(dá)式判斷是否是有效的文件及文件夾路徑的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • C#實(shí)現(xiàn)WinForm捕獲最小化事件的方法

    C#實(shí)現(xiàn)WinForm捕獲最小化事件的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)WinForm捕獲最小化事件的方法,需要的朋友可以參考下
    2014-08-08
  • C# Winfom 中ListBox的簡單用法詳解

    C# Winfom 中ListBox的簡單用法詳解

    這篇文章主要介紹了C# Winfom 中ListBox的簡單用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • ActiveMQ在C#中的應(yīng)用示例分析

    ActiveMQ在C#中的應(yīng)用示例分析

    這篇文章主要介紹了ActiveMQ在C#中的應(yīng)用,簡單介紹了ActiveMQ的功能、下載及在C#中的具體使用方法,需要的朋友可以參考下
    2016-07-07
  • C#生成Word文件(圖片、文字)

    C#生成Word文件(圖片、文字)

    這篇文章主要為大家詳細(xì)介紹了C#生成Word文件,包括圖片、文字等素材,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)屏幕遮罩

    Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)屏幕遮罩

    這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)屏幕遮罩效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C# 中如何取絕對(duì)值函數(shù)

    C# 中如何取絕對(duì)值函數(shù)

    本文主要介紹了C# 中取絕對(duì)值的函數(shù)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03

最新評(píng)論