private void DehydrateStaticFunc(StreamFilterPredicate pred) { #if DEBUG CheckFilterPredicateFunc(pred); // Assert expected pre-conditions are always true. #endif MethodInfo method = pred.GetMethodInfo(); className = method.DeclaringType.FullName; methodName = method.Name; }
/// <summary> /// Check that the user-supplied stream predicate function is valid. /// Stream predicate functions must be static and not abstract. /// </summary> private static void CheckFilterPredicateFunc(StreamFilterPredicate predicate) { if (predicate == null) { throw new ArgumentNullException("predicate", "Stream Filter predicate function must not be null."); } MethodInfo method = predicate.GetMethodInfo(); if (!method.IsStatic || method.IsAbstract) { throw new ArgumentException("Stream Filter predicate function must be static and not abstract."); } }
/// <summary> /// Check that the user-supplied stream predicate function is valid. /// Stream predicate functions must be static and not abstract. /// </summary> /// <param name="func"></param> private static void CheckFilterPredicateFunc(StreamFilterPredicate predicate) { if (predicate == null) { throw new ArgumentNullException("predicate", "Stream Filter predicate function must not be null."); } MethodInfo method = predicate.GetMethodInfo(); if (!method.IsStatic || method.IsAbstract) { throw new ArgumentException("Stream Filter predicate function must be static and not abstract."); } }