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