原创:泛型方法例子
一:把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(0, new 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 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(0, new 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);
}
}
{
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);
}
{
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);
}