• 原创:泛型方法例子


    一:把Enum绑定到ListControl类的控件
        public static class EnumHelper
        {
            
    public static void BindEnum<T>(this T lc, Type EnumType,string Text) where T : ListControl
            {
                
    foreach (string name in Enum.GetNames(EnumType))
                {
                    lc.Items.Add(
    new ListItem(name, Enum.Format(EnumType, Enum.Parse(EnumType, name), "d")));
                }
                lc.Items.Insert(
    0new ListItem(Text, "-1"));
            }

            
    public static void BindEnum<T>(this T lc, Type EnumType) where T : ListControl
            {
                
    foreach (string name in Enum.GetNames(EnumType))
                {
                    lc.Items.Add(
    new ListItem(name, Enum.Format(EnumType, Enum.Parse(EnumType, name), "d")));
                }
            }
            
    public static string GetName(object value, Type EnumType)
            {
                
    if (value == null)
                    
    return "";
                
    int result = 0;
                
    int.TryParse(value.ToString(), out result);
                
    return Enum.GetName(EnumType, result);
            }
        }
    public static IQueryable<T> GetPageList<T>(this IQueryable<T> q, int PageIndex, int PageSize)
    {
        
    if (PageIndex > 1)
        {
            
    return q.Skip((PageIndex - 1)).Take(PageSize);
        }
        
    else
        {
            
    return q.Take(PageSize);
        }
    }

    二、Dictionary的扩展方法
    public static T GetValue<T>(this Dictionary<string, T> dict, string key)
    {
        
    if (dict.ContainsKey(key))
            
    return dict[key];
        
    else
            
    return default(T);
    }
    public static T GetValue<T>(this Dictionary<string, T> dict, string key, T defaultvalue)
    {
        
    if (dict.ContainsKey(key))
            
    return dict[key];
        
    else
            
    return defaultvalue;
    }
    public static void SetValue<T>(this Dictionary<string, T> dict, string key, T value)
    {
        
    if (dict.ContainsKey(key))
            dict[key] 
    = value;
        
    else
            dict.Add(key, value);
    }

  • 相关阅读:
    asp.net(C#)页面事件顺序
    C#多线程学习 之 线程池[ThreadPool]
    JS 获取浏览器窗口大小
    关于Json的那点事
    jquery 动态滚动
    Null,DBNull,String.Empty 区别 C# 转载
    js图片大小限制,设置
    mysql 自定义函数获取两点间距离
    KindleConverter:Word批量转换为6寸PDF
    在 Asp.NET MVC 中使用 SignalR 实现推送功能
  • 原文地址:https://www.cnblogs.com/mad/p/1431459.html
Copyright © 2020-2023  润新知