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库fire使用简介
    Ubuntu 下安装、使用tree 查看目录的树形结构
    pandas dataframe.pivot()用法
    聚享导航全新改版,安卓App上线啦
    GCN网络学习
    numpy.where() 用法和np.argsort()的用法
    opencv-python 最小外接矩形_转载
    RuntimeError: cuda runtime error (59) : device-side assert triggered(已解决)
    从CSDN复制文章到微信
    winscp无法上传,删除,修改文件并提示权限不够的分析
  • 原文地址:https://www.cnblogs.com/mad/p/1431459.html
Copyright © 2011-2022 走看看