Вот код, который я использую в качестве расширения для одного из моих типы
Код: Выделить всё
public static IMySpecialClass[]? MyMultipleFunction(this string[]? values, float line)
{
if (values == null) return null;
List listClass = [];
foreach (var v in values)
{
listClass.Add(v.XXXX(line));
}
return [.. listClass];
}
Код: Выделить всё
listClass.Add(v.XXXX(line));
XXXX — это строка IMySpecialClass введите void, поэтому я не могу найти способ передать или указать, какую функцию я хочу использовать, в зависимости от моих требований?
Я знаю, что могу скопировать и вставить код, измените метод XXXX и назовите функцию по-другому, но есть ли способ добиться этого без копирования/вставки?
Я читал о динамических типах, но чувствую, что мне нужен пример, чтобы восполните некоторые недостающие знания, так что было бы здорово, если бы кто-нибудь мог показать, как этого можно достичь (если возможно), и, возможно, какую-нибудь ссылку, к которой я мог бы обратиться на более позднем этапе?
Изменить
Текущий код после добавления действия в подпись
Код: Выделить всё
public static IMySpecialClass[]? MyMultipleFunction(this string[]? values, float line, Func func)
{
if (values == null) return null;
List listClass = [];
foreach (var v in values)
{
listClass.Add(func(v.XXXX(line)));
}
return [.. listClass];
}
Не указан аргумент, соответствующий обязательному параметру «arg2» из «Action'
Если я удалю параметр с плавающей запятой
Аргумент 1: невозможно преобразовать из 'IMySpecialClass' в 'string '
Подробнее здесь: https://stackoverflow.com/questions/790 ... t-purposes
Мобильная версия