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);
    }

  • 相关阅读:
    linux系统防火墙对访问服务器的影响
    Android 样式的开发(转)
    Android开发学习总结(三)——appcompat_v7项目说明
    Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml
    BootStrap 常用控件总结
    mybatis自定义代码生成器(Generator)——自动生成model&dao代码
    MySql的下载和安装(解压版)
    jquery mobile 表单提交 图片/文件 上传
    java读取.properties配置文件的几种方法
    AngularJS------认识AngularJS
  • 原文地址:https://www.cnblogs.com/mad/p/1431459.html
Copyright © 2011-2022 走看看