How would i go about returning two different kind of results from a task pool that im running in a List of tasks? in my Code i would like to run the two different methods in startCategorysearchAsync at the same time with the help of a task pool but they have different return values one with the category return parameter and one with SubCategoryReturnmparameter SubCategory is a child to Category though? this is my code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Input;
using DataConverter.Checkers;
using DataConverter.Converters;
using DataConverter.Command;
using DataConverter.Objects;
using AsyncAwaitBestPractices.MVVM;
namespace DataConverter.ViewModels
{
    public class MainWindowViewModel : BaseViewModel
    {
        public List<Category> parentCategories = new List<Category>();
        public List<SubCategory> subCategories1 = new List<SubCategory>(); 
        public string path { get; set; }
       public bool runButtonWorks { get; set; }
       public string errorMessage { get; set; }
       public bool TextIsVisible { get; set; }
       public ICommand run { get; set; }
       private bool _isBusy;
       public bool IsBusy
       {
          get => _isBusy;
          private set => Set(ref _isBusy, value);
       }
        private void Set(ref bool isBusy, bool value)
        {
            throw new NotImplementedException();
        }
        public AsyncCommand start { get; private set;}
       public MainWindowViewModel()
       {
            runButtonWorks = true; 
            start = new AsyncCommand(startCategorysearchAsync);
            start = new AsyncCommand(startSubCategorysearchAsync);
       }
        private async Task startCategorysearchAsync()
        {
            FileCheck check = new FileCheck(path);
            List<List<SubCategory>> subCategoriesList = new List<List<SubCategory>>();
            List<Task> tasks = new List<Task>(); 
            CategoryConverter converter = new CategoryConverter(path);
            try
            {
                runButtonWorks = false;
                tasks.Add(Task.Run(() =>  converter.getCategoryListExcel()));
                tasks.Add(Task.Run(() => converter.getSubCategory()));
                await Task.WhenAll(tasks); 
            }
            finally
            {
            }
        }
        private bool CanExecuteSubmit()
        {
            return !IsBusy;
        }
    }
}
