~do-win/do/test-paths

« back to all changes in this revision

Viewing changes to Do/src/PathExtensions.cs

  • Committer: Hardeep S
  • Date: 2009-06-23 05:57:47 UTC
  • Revision ID: ootz0rz@gmail.com-20090623055747-3srobsuq3q8wbn81
initial adding of Do core stuff

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// PathsService.cs
 
2
//
 
3
// GNOME Do is the legal property of its developers. Please refer to the
 
4
// COPYRIGHT file distributed with this source distribution.
 
5
//
 
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.
 
10
//
 
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.
 
15
//
 
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/>.
 
18
//
 
19
 
 
20
using System;
 
21
using System.IO;
 
22
using System.Linq;
 
23
 
 
24
namespace Do
 
25
{
 
26
        
 
27
        public static class PathExtensions
 
28
        {
 
29
                /// <summary>
 
30
                /// Shortcut for System.IO.Path.Combine with a varaible number of parameters.
 
31
                /// </summary>
 
32
                /// <param name="self">
 
33
                /// A <see cref="System.String"/> base path.
 
34
                /// </param>
 
35
                /// <param name="paths">
 
36
                /// A <see cref="System.String[]"/> to combine onto the base path. 
 
37
                /// </param>
 
38
                /// <returns>
 
39
                /// A <see cref="System.String"/> fully assembled path.
 
40
                /// </returns>
 
41
                public static string Combine (this string self, params string [] paths)
 
42
                {
 
43
                        if (self == null) throw new ArgumentNullException ("self");
 
44
                        if (paths == null) throw new ArgumentNullException ("paths");
 
45
                        
 
46
                        return Path.Combine (self, paths.Aggregate (Path.Combine));
 
47
                }
 
48
        }
 
49
}