Quantcast
Channel: Active questions tagged return-value - Stack Overflow
Viewing all articles
Browse latest Browse all 210

Return multiple values from a C# asynchronous method

$
0
0

I have worked with asynchronous methods and the methods which return multiple values, separately. In this specific situation, following "GetTaskTypeAndId()" method should be asynchronous and should return multiple values at the same time. How should I make this method asynchronous?

        public async Task DeleteSchoolTask(int schoolNumber, int taskDetailId)        {              var result = GetTaskTypeAndId(taskDetailId); // This should be called asynchronously            int taskId = result.Item1;            string taskType = result.Item2;            // step 1: delete attachment physically from server            var fileService = new FileService(Logger, CurrentUser);            var relativeFilePath = $"{schoolNumber}\\{Consts.RM_SCHOOL}\\{taskDetailId}";            fileService.DeleteAttachmentFolderFromServer(Consts.CONFIG_SMP_UPLOADFILE_ROOTPATH, relativeFilePath);            // step 2: delete records from database            await _routineMaintenanceRepo.Value.DeleteSchoolTask(taskDetailId);        }        public (int, string) GetTaskTypeAndId(int taskDetailId) // How should I write this line using 'async Task'?        {            var detailRecord = await _routineMaintenanceRepo.Value.GetDetailRecord(taskDetailId);            int taskId = 0;            string taskType = "";            switch (detailRecord.TaskType)            {                case 1:                    taskId = (int)detailRecord.RoutineMaintenanceTaskId;                    taskType = Consts.RM_DEFAULT;                    break;                case 2:                    taskId = (int)detailRecord.RoutineMaintenanceTaskDuplicateId;                    taskType = Consts.RM_DUPLICATE;                    break;                case 3:                    taskId = (int)detailRecord.RoutineMaintenanceTaskSchoolId;                    taskType = Consts.RM_SCHOOL;                    break;                default:                    break;            }            return (taskId, taskType);        }

Viewing all articles
Browse latest Browse all 210

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>