Code
这种方法在linq修改时很管用
(Lgd_Inn)Toolbox.PropertyCopy(objInn,r);
/// <summary>
/// 两个实例间属性赋值
/// </summary>
/// <param name="obj1"></param>
/// <param name="obj2"></param>
/// <returns></returns>
public static object PropertyCopy(object objSrc, object objDest)
{
Type souType = objSrc.GetType();
Type tarType = objDest.GetType();
PropertyInfo[] pis = souType.GetProperties(BindingFlags.Public | BindingFlags.Instance);
if (null != pis)
{
foreach (PropertyInfo pi in pis)
{
string propertyName = pi.Name;
PropertyInfo pit = tarType.GetProperty(propertyName);
if (pit != null)
{
pit.SetValue(objDest, pi.GetValue(objSrc, null), null);
}
}
}
return objDest;
}
这种方法在linq修改时很管用
(Lgd_Inn)Toolbox.PropertyCopy(objInn,r);
/// <summary>
/// 两个实例间属性赋值
/// </summary>
/// <param name="obj1"></param>
/// <param name="obj2"></param>
/// <returns></returns>
public static object PropertyCopy(object objSrc, object objDest)
{
Type souType = objSrc.GetType();
Type tarType = objDest.GetType();
PropertyInfo[] pis = souType.GetProperties(BindingFlags.Public | BindingFlags.Instance);
if (null != pis)
{
foreach (PropertyInfo pi in pis)
{
string propertyName = pi.Name;
PropertyInfo pit = tarType.GetProperty(propertyName);
if (pit != null)
{
pit.SetValue(objDest, pi.GetValue(objSrc, null), null);
}
}
}
return objDest;
}
这种在LINQ修改时很有用,因为LINQ修改时是先取到一个值,再修改这个值, 有了这个方法就不需要了。
当绑定到 SqlDataSource 控件时,通过将 DataSourceMode 属性设置为 DataReader,您将获得更好的性能