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

  • 相关阅读:
    iOS 11: CORE ML—浅析
    Android 平台 Native 代码的崩溃捕获机制及实现
    H5直播避坑指南
    Mac系统升级至OS X Mavericks后Genymotion出现的问题及解决方法
    Android 4.4 KitKat终于支持录屏(Screen Recording)了!
    Android开发者资源大汇总
    用AndroidSDK中的Face Detector实现人脸识别
    [Android设计模式]Android退出应用程序终极方法
    ActionBarCompat 教程-实现Action Bar
    使用Roboguice依赖注入规划Android项目
  • 原文地址:https://www.cnblogs.com/mad/p/1431459.html
Copyright © 2011-2022 走看看