Juzz Pig(橘子&猪)-完美源自日积月累
塑造一个团队远比创造一个团队有价值
博客园
首页
社区
新随笔
联系
管理
订阅
随笔- 5 文章- 0 评论- 27
2007年8月29日
利用.Net反射机制实现一个“实体数据异同比较”功能!
代码内容
///
<summary>
///
///
</summary>
///
<typeparam name="object1"></typeparam>
///
<typeparam name="object2"></typeparam>
public
class
ObjectCompare
<
object1
>
{
///
<summary>
///
///
</summary>
///
<param name="original"></param>
///
<param name="newobject"></param>
///
<returns></returns>
public
string
Compare(object1 original, object1 newobject)
{
StringBuilder resultStr
=
new
StringBuilder();
if
(original.GetType()
==
newobject.GetType()
&&
!
original.Equals(newobject))
{
PropertyInfo[] properties
=
typeof
(object1).GetProperties();
for
(
int
i
=
0
; i
<
properties.Length; i
++
)
{
if
(
!
properties[i].GetValue(original,
null
).Equals(properties[i].GetValue(newobject,
null
)))
{
resultStr.Append(
string
.Concat(properties[i].Name,
"
:
"
));
resultStr.Append(properties[i].GetValue(original,
null
));
resultStr.Append(
"
→
"
);
resultStr.Append(properties[i].GetValue(newobject,
null
));
resultStr.Append(
"
<br />
"
);
}
}
}
return
resultStr.ToString();
}
}
posted @ 2007-08-29 23:26 Chieh 阅读(335) 评论(0)
编辑
公告