Func<int, string> func = (int p) =>
{
return p.ToString();
};
Task<string> task = new Task<string>(func, 7);
Ошибка 1 Наиболее подходящий перегруженный метод для System.Threading.Tasks.Task<string>.Task(System.Func<string>, System.Threading.CancellationToken)
имеет несколько недопустимых аргументов
Ошибка 2 Аргумент "1": преобразование типа из System.Func<int,string>
в System.Func<string>
невозможно
Ошибка 3 Аргумент "2": преобразование типа из int
в System.Threading.CancellationToken
невозможно
Как передать в функцию задания строго типизированный входной параметр типа int?
Состряпаем из вашей функции, принимающей один параметр, функцию без параметров:
static async Task Main(string[] args)
{
Func<int, string> func = (int p) =>
{
return p.ToString();
};
Task<string> task = new Task<string>(() => func(7));
task.Start();
string r = await task;
Console.WriteLine(r);
Console.ReadKey();
}
Т.е. мы здесь определяем еще одну функцию (анонимную), это примерно тоже самое, что написать так:
Func<string> func2 = () => func(7);
Task<string> task = new Task<string>(func2);
Перегрузка с функцией и состоянием имеет следующий вид:
Task<TResult>(Func<Object, TResult>, Object)
Проблема в том, что в Func<Object, TResult>
нельзя передать Func<int, string>
.( Подробнее можно посмотреть в вопросе: В чем суть ковариантности и контравариантности делегатов?)
Для решения достаточно просто изменить тип делегата, на Func<Object, TResult>
Func<object, string> func = (object p) =>
{
return p.ToString();
};
Task<string> task = new Task<string>(func, 7);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вот коды к игре пятнашки, нужно чтобы при нажатии ctrl + z происходил откат перемещения до самого первого, но как это сделать средствами wpf не знаю...
Сообщение о разрешении доступа к камере и микрофону сейчас появляется при запуске приложенияСообщения были подключены при помощи возможности...
Как мне инициализировать глобальный метод в приложении WPFНаподобие program
Есть xls файл, созданный сторонней программойВ нем 28 030 подряд вниз заполненных ячеек в столбце