/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="origin">源数据</param>
/// <param name="target">对象数据</param>
/// <param name="dict">变量名对应字典</param>
public
static
void
CopyTo<T>(
this
object
origin, T target,Dictionary<
string
,
string
> dict)
where
T :
class
,
new
()
{
PropertyInfo[] props = target.GetType().GetProperties();
foreach
(PropertyInfo info
in
props)
{
var
variable = dict.FirstOrDefault(m => m.Value == info.Name);
if
(variable.Key!=
null
)
{
string
variableName = variable.Key;
string
chineseName = variable.Value;
var
propertyValue =
origin.GetType()
.GetProperty(variableName)
.GetValue(origin,
null
);
if
(propertyValue !=
null
)
{
if
(propertyValue.GetType().IsClass)
{
}
target.GetType()
.InvokeMember(chineseName, BindingFlags.SetProperty,
null
, target,
new
object
[] { propertyValue });
}
}
}
}