TaskExecuteProviderFactory.cs 725 B

123456789101112131415161718192021222324
  1. using System.Reflection;
  2. using Quadarax.Foundation.Core.Data;
  3. using Quadarax.Foundation.Core.Object;
  4. using Quadarax.Foundation.Core.Reflection;
  5. namespace Quadarax.Foundation.Core.Business.Processor.Task.ExecuteProvider
  6. {
  7. internal class TaskExecuteProviderFactory
  8. {
  9. public TaskExecuteProviderFactory()
  10. {
  11. }
  12. public ITaskExecuteProvider Create(string providerClass, ITypedArgument[] arguments)
  13. {
  14. var type = TypeUtils.GetRemoteType(providerClass);
  15. if (type == null) throw new Exception($"Cannot find type {providerClass}");
  16. return (ITaskExecuteProvider)Activator.CreateInstance(type, arguments);
  17. }
  18. }
  19. }