public static void Match <TNullable>(this TNullable?value, Action <TNullable> hasValue) where TNullable : struct { if (value.HasValue) { hasValue(value.Value); } }
public static T?Match <T, TNullable>(this TNullable?value, Func <TNullable, T> hasValue) where TNullable : struct where T : struct { if (value.HasValue) { return(hasValue(value.Value)); } return(null); }
public void Serialize(TNullable?value, TextWriter writer) { if (value == null) { writer.Write(JsonTokenizer.TokenNullValue); } else { _valueConverter.Serialize(value.Value, writer); } }
public void Serialize(TNullable?value, TextWriter output) { if (value == null) { output.Write(JsonValue.NullToken); } else { _valueConverter.Serialize(value.Value, output); } }
private static void Nullable <TNullable>(TNullable?n) where TNullable : struct, I { object o1 = n; ValueType v1 = n; I i1 = n; // always Func <int> f = n.GetHashCode; n.ExtensionMethod(); // boxing! n.GetType(); // possible boxing INSIDE Nullable<T> n.GetHashCode(); n.ToString(); n.Equals(null); // no boxing n?.InstanceMethod(); }
public static IQueryable <TSource> WhereIfNotNull <TSource, TNullable>(this IQueryable <TSource> queryable, TNullable?nullable, Expression <Func <TSource, bool> > predicate) where TNullable : class { if (nullable != null) { return(queryable.Where(predicate)); } else { return(queryable); } }
public JsonData Write(TNullable?value) { return(value == null ? JsonValue.Null : _valueConverter.Write(value.Value)); }
public static TResult May <TNullable, TResult>(this TNullable?nullable, Func <TNullable, TResult> selector) where TNullable : struct { return(nullable.HasValue ? selector(nullable.Value) : default(TResult)); }