zoukankan      html  css  js  c++  java
  • 原创:泛型方法例子

    一:把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);
    }

  • 相关阅读:
    python解压缩rar,zip文件的正确姿势
    tensorflow1.x及tensorflow2.x不同版本实现验证码识别
    qt5.6.3下使用firebird
    Python3.6下的Requests登录及利用Cookies登录
    c++实现全密码生成
    android中利用HttpURLConnection进行Get、Post和Session读取页面。
    Freebsd10.3 Nginx多版本PHP
    Freebsd10.3(FreeBSD11 Beta1)使用手记
    Eclipse导入的User Libarary
    MySQL zip版本安装
  • 原文地址:https://www.cnblogs.com/mad/p/1431459.html
Copyright © 2011-2022 走看看