14 / 12 / 3
Регистрация: 20.02.2018
Сообщений: 446
|
||||||
1 | ||||||
Как прописать метод класса, чтобы он мог принимать разные делегаты с одинаковой сигнатурой?04.10.2018, 13:39. Показов 1673. Ответов 5
Доброго времени суток!
Есть класс Gradient у него есть метод GetDerivative1, хотелось бы чтобы этот метод мог считать значение разных функций с одинаковой сигнатурой. Для этого я в качестве одного из параметров данного метода прописал делегат с нужной сигнатурой. (Func<double,double,double> function) Но в этом случае, когда я пытаюсь в него отправить делегат прописанный в классе, он выдаёт ошибку - "Аргумент 1: не удается преобразовать из "Gradient.Gradient.Derivative1" в "System.Func<double, double, double>".". Если же в параметрах метода вместо "Func<double,double,double> function" указать конкретный тип делегата (Derivative2 function), то при попытке передать в метод другой делегат с такой же сигнатурой вылезает ошибка "не удается преобразовать из "Gradient.Gradient.Derivative1" в "Gradient.Gradient.Derivative2"." Можно ли сделать так чтобы метод мог разные делегаты с одинаковой сигнатурой? Если нет, то как сделать чтобы метод мог считать значение разных функций с одинаковой сигнатурой?
0
|
04.10.2018, 13:39 | |
Ответы с готовыми решениями:
5
Как сделать так чтобы метод мог принимать списки объектов разных типов? Как переопределить функцию так, чтобы она не только могла принимать разные параметры, но и возвращать тоже разные? Как сделать так, чтобы код мог принимать только определенные числа? Как сделать так чтобы сервер мог принимать данные сразу от двух клиентов? |
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
|
||||||
04.10.2018, 14:07 | 2 | |||||
Сообщение было отмечено Volodya_ как решение
Решение
1
|
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
04.10.2018, 16:27 | 3 |
Нет.
Используйте один и тот же тип делегата везде, где хотите использовать одну и ту же сигнатуру.
1
|
14 / 12 / 3
Регистрация: 20.02.2018
Сообщений: 446
|
|
04.10.2018, 19:11 [ТС] | 4 |
0
|
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
04.10.2018, 19:35 | 5 |
0
|
1144 / 853 / 262
Регистрация: 30.04.2009
Сообщений: 3,581
|
||||||
06.10.2018, 00:21 | 6 | |||||
Делегат можно преобразовать в другой тип с такой же сигнатурой.
1
|
06.10.2018, 00:21 | |
06.10.2018, 00:21 | |
Помогаю со студенческими работами здесь
6
Делегаты с похожей, но разной сигнатурой Прописать в программе путь к файлу чтобы он мог открываться с любого ПК Что прописать в роутах, чтобы сайт мог работать не в корне, а каталоге Рефакторинг участков кода с одинаковой сигнатурой, но разными именами объектов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |