public static void DisposeAndClear <T>(this T[] source) { if (source != null) { for (int i = 0; i < source.Length; i++) //for (int i = source.Length - 1; i >= 0; i--) { object o = source[i]; DisposeHelper.DisposeItem(o); } /*foreach (object o in source) * { * }*/ } }