private static StringTransformer Guard <TVal>(GuardedValueTransformer <TVal> transformer)
 {
     return((t, v) =>
     {
         if (!typeof(TVal).IsAssignableFrom(t))
         {
             return null;
         }
         return transformer((TVal)v);
     });
 }
예제 #2
0
 internal static void RegisterFilter <TVal>(GuardedValueTransformer <TVal> filter)
 {
     if (Transformers.ContainsKey(typeof(TVal)))
     {
         Transformers[typeof(TVal)] = Guard(filter);
     }
     else
     {
         Transformers.Add(typeof(TVal), Guard(filter));
     }
 }
예제 #3
0
 private static Transformer Guard <TVal>(GuardedValueTransformer <TVal> transformer)
 {
     return((t, v) => !typeof(TVal).GetTypeInfo().IsAssignableFrom(t) ? null : transformer((TVal)v));
 }
예제 #4
0
 public static void RegisterFilter <TVal>(GuardedValueTransformer <TVal> filter)
 {
     Transformers.Add(Guard <TVal>(filter));
 }