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;