3
// GNOME Do is the legal property of its developers. Please refer to the
4
// COPYRIGHT file distributed with this source distribution.
6
// This program is free software: you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation, either version 3 of the License, or
9
// (at your option) any later version.
11
// This program is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
16
// You should have received a copy of the GNU General Public License
17
// along with this program. If not, see <http://www.gnu.org/licenses/>.
27
public static class PathExtensions
30
/// Shortcut for System.IO.Path.Combine with a varaible number of parameters.
32
/// <param name="self">
33
/// A <see cref="System.String"/> base path.
35
/// <param name="paths">
36
/// A <see cref="System.String[]"/> to combine onto the base path.
39
/// A <see cref="System.String"/> fully assembled path.
41
public static string Combine (this string self, params string [] paths)
43
if (self == null) throw new ArgumentNullException ("self");
44
if (paths == null) throw new ArgumentNullException ("paths");
46
return Path.Combine (self, paths.Aggregate (Path.Combine));