Пример #1
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out abstract classes.
 /// </summary>
 /// <typeparam name="TContext">Type of context.</typeparam>
 /// <param name="enumerator">Type enumerator.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection <TContext> AddFilterNotAbstract <TContext>(this ITypeDelegateCollection <TContext> enumerator)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter((t, context) => !t.IsAbstract));
 }
Пример #2
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out type that doesn't have <paramref name="attributeType" />.
 /// </summary>
 /// <typeparam name="TContext">Type of context.</typeparam>
 /// <param name="enumerator">Type enumerator.</param>
 /// <param name="attributeType">Required attribute type.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection <TContext> AddFilterHasAttribute <TContext>(this ITypeDelegateCollection <TContext> enumerator, Type attributeType)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter((t, context) => t.GetCustomAttributes(attributeType, true).Length > 0));
 }
Пример #3
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out abstract classes.
 /// </summary>
 /// <param name="enumerator">Type enumerator.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection AddFilterNotAbstract(this ITypeDelegateCollection enumerator)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter(t => !t.IsAbstract));
 }
Пример #4
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out interfaces.
 /// </summary>
 /// <param name="enumerator">Type enumerator.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection AddFilterNotInterface(this ITypeDelegateCollection enumerator)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter(t => !t.IsInterface));
 }
Пример #5
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out classes without default (parameter-less) constructor.
 /// </summary>
 /// <typeparam name="TContext">Type of context.</typeparam>
 /// <param name="enumerator">Type enumerator.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection <TContext> AddFilterHasDefaultConstructor <TContext>(this ITypeDelegateCollection <TContext> enumerator)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter((t, context) => t.HasDefaultConstructor()));
 }
Пример #6
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out classes without default (parameter-less) constructor.
 /// </summary>
 /// <param name="enumerator">Type enumerator.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection AddFilterHasDefaultConstructor(this ITypeDelegateCollection enumerator)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter(t => t.HasDefaultConstructor()));
 }
Пример #7
0
 /// <summary>
 /// Adds filter on <paramref name="enumerator"/> to filter out classes without constructor with <paramref name="parameterTypes" />.
 /// </summary>
 /// <typeparam name="TContext">Type of context.</typeparam>
 /// <param name="enumerator">Type enumerator.</param>
 /// <param name="parameterTypes">Ordered array of required parameters in constructor.</param>
 /// <returns>Result from calling <see cref="ITypeDelegateCollection.AddFilter"/>.</returns>
 public static ITypeDelegateCollection <TContext> AddFilterHasConstructor <TContext>(this ITypeDelegateCollection <TContext> enumerator, params Type[] parameterTypes)
 {
     Ensure.NotNull(enumerator, "enumerator");
     return(enumerator.AddFilter((t, context) => t.GetConstructor(parameterTypes) != null));
 }