Safe.cs
35 lines
| 1.1 KiB
| text/x-csharp
|
CSharpLexer
/ Implab / Safe.cs
cin
|
r1 | using System; | ||
using System.Collections.Generic; | ||||
using System.Linq; | ||||
using System.Text; | ||||
cin
|
r51 | using System.Text.RegularExpressions; | ||
cin
|
r1 | |||
namespace Implab | ||||
{ | ||||
public static class Safe | ||||
{ | ||||
cin
|
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); | ||||
} | ||||
cin
|
r31 | public static void Dispose<T>(T obj) where T : class | ||
cin
|
r1 | { | ||
cin
|
r2 | var disp = obj as IDisposable; | ||
if (disp != null) | ||||
disp.Dispose(); | ||||
cin
|
r1 | } | ||
} | ||||
} | ||||