Вместо записи:
Calculate(team, calcFunc);
Вам нужно будет написать:
Calculate<MyClass>(team, calcFunc);
Однако вы действительно должны знать, что возвращает calculatorFunc --- Я собираюсь предположитьчто все те, которые вы используете, возвращают один и тот же тип значения (будь то десятичное или целое число типа float).В этом случае вы можете определить его следующим образом:
public override int Calculator(Team[] teams, Func<Team, int> calculatorFunc)
{
return teams.Average(calculatorFunc);
}
Тогда в объявлении вообще нет обобщений.