Mercurial > pub > ImplabNet
comparison Implab/Safe.cs @ 251:7c7e9ad6fe4a v3
Prerelease version of RunnableComponent
Added draft messaging interfaces
Added more more helpers to Xml/SerializationHelpers
| author | cin |
|---|---|
| date | Sun, 11 Feb 2018 00:49:51 +0300 |
| parents | 5cb4826c2c2a |
| children | 7d52dc684bbd |
comparison
equal
deleted
inserted
replaced
| 250:9f63dade3a40 | 251:7c7e9ad6fe4a |
|---|---|
| 4 using System.Text; | 4 using System.Text; |
| 5 using System.Text.RegularExpressions; | 5 using System.Text.RegularExpressions; |
| 6 using System.Diagnostics; | 6 using System.Diagnostics; |
| 7 using System.Collections; | 7 using System.Collections; |
| 8 using System.Runtime.CompilerServices; | 8 using System.Runtime.CompilerServices; |
| 9 using System.Threading.Tasks; | |
| 9 | 10 |
| 10 #if NET_4_5 | 11 #if NET_4_5 |
| 11 using System.Threading.Tasks; | 12 using System.Threading.Tasks; |
| 12 #endif | 13 #endif |
| 13 | 14 |
| 46 if (value == null) | 47 if (value == null) |
| 47 throw new ArgumentNullException(paramName); | 48 throw new ArgumentNullException(paramName); |
| 48 } | 49 } |
| 49 | 50 |
| 50 [MethodImpl(MethodImplOptions.AggressiveInlining)] | 51 [MethodImpl(MethodImplOptions.AggressiveInlining)] |
| 51 internal static void ArgumentGreaterThan(int value, int min, string paramName) { | 52 internal static void ArgumentGreaterEqThan(int value, int min, string paramName) { |
| 52 if (value < min) | 53 if (value < min) |
| 53 throw new ArgumentOutOfRangeException(paramName); | 54 throw new ArgumentOutOfRangeException(paramName); |
| 54 } | 55 } |
| 55 | 56 |
| 56 [MethodImpl(MethodImplOptions.AggressiveInlining)] | 57 [MethodImpl(MethodImplOptions.AggressiveInlining)] |
| 57 public static void ArgumentInRange(int value, int min, int max, string paramName) { | 58 public static void ArgumentInRange(bool condition, string paramName) { |
| 58 if (value < min || value > max) | 59 if (!condition) |
| 59 throw new ArgumentOutOfRangeException(paramName); | 60 throw new ArgumentOutOfRangeException(paramName); |
| 60 } | 61 } |
| 61 | 62 |
| 62 [MethodImpl(MethodImplOptions.AggressiveInlining)] | 63 [MethodImpl(MethodImplOptions.AggressiveInlining)] |
| 63 public static void ArgumentOfType(object value, Type type, string paramName) { | 64 public static void ArgumentOfType(object value, Type type, string paramName) { |
| 142 } | 143 } |
| 143 | 144 |
| 144 public static void NoWait(IPromise promise) { | 145 public static void NoWait(IPromise promise) { |
| 145 } | 146 } |
| 146 | 147 |
| 148 public static void NoWait(Task promise) { | |
| 149 } | |
| 150 | |
| 151 public static void NoWait<T>(Task<T> promise) { | |
| 152 } | |
| 153 | |
| 147 [DebuggerStepThrough] | 154 [DebuggerStepThrough] |
| 148 public static IPromise<T> Run<T>(Func<IPromise<T>> action) { | 155 public static IPromise<T> Run<T>(Func<IPromise<T>> action) { |
| 149 ArgumentNotNull(action, "action"); | 156 ArgumentNotNull(action, "action"); |
| 150 | 157 |
| 151 try { | 158 try { |
