/// <summary> /// Creates a new <see cref="TypeConfiguration"/>. /// </summary> /// <param name="type">Type.</param> /// <param name="action">Action to perform.</param> /// <param name="scanningStrategy">Scanning strategy.</param> public TypeConfiguration( Type type, Action<Type> action, ScanFor scanningStrategy ) { Type = type; Action = action; ScanningStrategy = scanningStrategy; }
/// <summary> /// Specifies the scanning option. /// </summary> /// <param name="scanFor">Scanning option.</param> /// <returns>The current <see cref="TypeConfiguration"/>.</returns> public TypeConfiguration WithScanningStrategy( ScanFor scanFor ) { switch ( scanFor ) { case ScanFor.TypesThatAreDecoratedWithThisAttribute: ScanForTypesThatAreDecoratedWithThisAttribute(); break; case ScanFor.TypesThatImplementThisInterface: ScanForTypesThatImplementThisInterface(); break; case ScanFor.TypesThatInheritFromThisClass: ScanForTypesThatInheritFromThisClass(); break; case ScanFor.TypesThatInheritFromThisAbstractClass: ScanForTypesThatInheritFromThisAbstractClass(); break; default: _typeConfiguration.ScanningStrategy = ScanFor.AllTypes; break; } return _typeConfiguration; }