TaskExecuteProviderFactory.cs 683 B

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