Аналог Path.Combine из .Net 4.0 для .Net 3.5

Дата публикации: 31.01.2011
Дата редактирования: не редактировалась
Состояние: завершена

    В .Net 4.0 для метода Path.Combine добавлена перегруженная реализация, принимающая любое количество строк в качестве параметров, а не две, как это сделано в .Net 3.5. Реализация очень удобна, и несколько огорчает её отсутствие в .Net 3.5. Однако, эта проблема решаема. Ниже набросал код решения.

Исходники (C# 3.0):

   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Text;
   5:  using System.IO;
   6:   
   7:  namespace Bushman.ExtendedMethods {
   8:      
   9:      /// <summary>
  10:      /// Класс, содержащий в себе методы расширения, которые могут быть вызваны как экземплярные для объектов System.String.
  11:      /// </summary>
  12:      public static class ExString {
  13:          /// <summary>
  14:          /// Сформировать строковое представление пути к файлу или каталогу на основе нескольких строк
  15:          /// </summary>
  16:          /// <param name="s">Строка на основе которой будет строиться путь</param>
  17:          /// <param name="args">Остальные составные части пути</param>
  18:          /// <returns>Возвращается строка, выглядящая как путь к каталогу или полное имя файла</returns>
  19:          public static string CombineAsPath(this string s, params string[] args) {
  20:              string a = s;
  21:              foreach (string item in args) {
  22:                  a = Path.Combine(a, item);
  23:              }
  24:              return a;
  25:          }
  26:      }
  27:  }


Comments