public IMasterMethod CreateMasterMethodInstance(string methodName) { var currentNamespace = GetType().Namespace; var fullMethodName = $"{currentNamespace}.{_masterNamespaceSuffix}.{methodName}, {currentNamespace}"; var type = Type.GetType(fullMethodName); IMasterMethod methodInstance = (IMasterMethod)Activator.CreateInstance(type); return(methodInstance); }
private Task SendToAgents(MasterStep step, IList <IRpcClient> clients) { try { var method = step.GetMethod(); var parameters = step.Parameters; // Create instance IMasterMethod methodInstance = _plugin.CreateMasterMethodInstance(method); // Do action return(methodInstance.Do(parameters, _plugin.PluginMasterParameters, clients)); } catch (Exception ex) { var message = $"Fail to handle step: {ex}"; Log.Error(message); throw; } }