# HG changeset patch # User cin # Date 1398540960 -14400 # Node ID 2c332a9c64c013d386c1617c4983cc8d28913b09 # Parent f8cbe84cfdb16cd2867ceadda940642625800d2e Added methods for parameter checks diff -r f8cbe84cfdb1 -r 2c332a9c64c0 Implab/Safe.cs --- a/Implab/Safe.cs Fri Apr 18 12:37:48 2014 +0400 +++ b/Implab/Safe.cs Sat Apr 26 23:36:00 2014 +0400 @@ -2,11 +2,29 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; namespace Implab { public static class Safe { + 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); + } + public static void Dispose(T obj) where T : class { var disp = obj as IDisposable;