Mercurial > pub > ImplabNet
changeset 51:2c332a9c64c0
Added methods for parameter checks
author | cin |
---|---|
date | Sat, 26 Apr 2014 23:36:00 +0400 |
parents | f8cbe84cfdb1 |
children | edf0bc558596 c0bf853aa04f |
files | Implab/Safe.cs |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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>(T obj) where T : class { var disp = obj as IDisposable;