当前位置: 代码迷 >> ASP.NET >> 这里为什么要采用Clone()来生成SqlParameter[] ,而不直接返回cachedParms?解决方法
  详细解决方案

这里为什么要采用Clone()来生成SqlParameter[] ,而不直接返回cachedParms?解决方法

热度:2894   发布时间:2013-02-25 00:00:00.0
这里为什么要采用Clone()来生成SqlParameter[] ,而不直接返回cachedParms????????????
 
在学习pet shop 4.0 的SqlHepler类时候,有个地方不明白
/// <summary>
  /// Retrieve cached parameters
  /// </summary>
  /// <param name="cacheKey">key used to lookup parameters</param>
  /// <returns>Cached SqlParamters array</returns>
  public static SqlParameter[] GetCachedParameters(string cacheKey) {
  SqlParameter[] cachedParms = (SqlParameter[])parmCache[cacheKey];

  if (cachedParms == null)
  return null;

  SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length];

  for (int i = 0, j = cachedParms.Length; i < j; i++)
  clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone();

  return clonedParms;
  }



这里为什么要采用Clone()来生成SqlParameter[] ,而不直接返回cachedParms????????????

------解决方案--------------------------------------------------------
当您的问题得到解答并完成结帖操作,CSDN将按本帖提问分数的50%,做为可用分返还给您。无满意贴不返还可用分
  相关解决方案