Safe.cs
40 lines
| 1.3 KiB
| text/x-csharp
|
CSharpLexer
/ Implab / Safe.cs
|
|
r1 | using System; | ||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|
|
r51 | using System.Text.RegularExpressions; | ||
|
|
r1 | |||
| namespace Implab | ||||
| { | ||||
| public static class Safe | ||||
| { | ||||
|
|
r51 | public static void ArgumentMatch(string param, string name, Regex rx) { | ||
| if (rx == null) | ||||
| throw new ArgumentNullException("rx"); | ||||
| if (!rx.IsMatch(param)) | ||||
| throw new ArgumentException(String.Format("A prameter value must match {0}", rx), name); | ||||
| } | ||||
| public static void ArgumentNotEmpty(string param, string name) { | ||||
| if (String.IsNullOrEmpty(param)) | ||||
| throw new ArgumentException("A parameter can't be empty", name); | ||||
| } | ||||
| public static void ArgumentNotNull(object param, string name) { | ||||
| if (param == null) | ||||
| throw new ArgumentNullException(name); | ||||
| } | ||||
|
|
r55 | public static void ArgumentInRange(int arg, int min, int max, string name) { | ||
| if (arg < min || arg > max) | ||||
| throw new ArgumentOutOfRangeException(name); | ||||
| } | ||||
|
|
r31 | public static void Dispose<T>(T obj) where T : class | ||
|
|
r1 | { | ||
|
|
r2 | var disp = obj as IDisposable; | ||
| if (disp != null) | ||||
| disp.Dispose(); | ||||
|
|
r1 | } | ||
| } | ||||
| } | ||||
