Cannot convert type 'System.Func<int,bool>' to 'System.Func<object,bool>'
Попытка бросить f2 на f1:Преобразование Func <> Типы
Func<object, bool> f1 = x => true;
Func<int, bool> f2 = x => true;
f1 = (Func<object, bool>)f2;
Пробовал функция карты решить, но на этот раз я получить
Argument 1: cannot convert from 'C' to 'A'
исключение. по функции трансформатора (a)
Func<int, bool> f3 = Map(f2, x => x);
Func<C, B> Map<A, B, C>(Func<A, B> input, Func<A, C> transform)
{
return x => input(transform(x));
// return x => input(transform((A)x)); not working
}
Есть ли решение?
не могли бы вы объяснить, почему вам нужен тип функции? вы хотите использовать одну функцию вместо другой? –
Мне нужна функция в компоненте общего уровня, но эта функция связана с реализацией. и я не хочу, чтобы общие компоненты знали эту информацию о реализации. поэтому я должен использовать этот вид литья –
Здесь вы совершаете ошибки типа. Это просто не так, что функция от int до bool является функцией от чего угодно до bool. Переосмыслите свой дизайн. – Ingo