Size: a a a

2021 July 19

S

Sergey Trofimov in CODE BLOG / C#
нужно знать тип делегата сначала
источник

S

Sergey Trofimov in CODE BLOG / C#
чтобы понимать к чему скастить метод
источник

rr

razumovsky r in CODE BLOG / C#
читабельность вышла из чата )
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Та да
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Но лучше чем ничего
источник

IC

Ilya L Che in CODE BLOG / C#
Ладно, да.
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
А Action<int>   к Action<float> и подобное, реально скастить вообще?
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Я как-то не задумывался
источник

AB

Alex Berezhnykh in CODE BLOG / C#
есть чото такое в алгоритмах имплисит конвертации делегатов
источник

AB

Alex Berezhnykh in CODE BLOG / C#
ща, вспомню один прикольный кейс, кину
источник

AB

Alex Berezhnykh in CODE BLOG / C#
как раз про это
источник

IC

Ilya L Che in CODE BLOG / C#
Не, void Action<in T>. Оно контравариантное, но без кастов.
источник

AB

Alex Berezhnykh in CODE BLOG / C#
источник

rr

razumovsky r in CODE BLOG / C#
значит всетаки может быть приведен )
источник

AB

Alex Berezhnykh in CODE BLOG / C#
Не совсем
источник

AB

Alex Berezhnykh in CODE BLOG / C#
Там есть немного хардкорный алгоритм выбора перегрузки с делегатом и конвертацией в method group
источник

IC

Ilya L Che in CODE BLOG / C#
void Foo(float f) {};
void Bar(int i) {};
Action<int> Baz = Foo;
// No overload for 'Foo(float)' matches delegate 'Action<int>'
источник

rr

razumovsky r in CODE BLOG / C#
странно
источник

rr

razumovsky r in CODE BLOG / C#
а почему на первом скрине матчится 2 метода
источник

IC

Ilya L Che in CODE BLOG / C#
Там веселые алгоритмы поиска нужного метода просто. Например, https://sharplab.io/#v2:CYLg1APgAgTAjAWAFBQMwAJboCoFMDOALugN7LoWYZQAs6AwgBQCUp5lHAYgPbeMCyuQgAtuwZgG52FAL7T08gA4AnAJYA3AIaFcmOjz5Q4MADyqAdoQB86VZtYk5SDio3bdtdAcZHTRgAw2AGb2pE4ualo6euiCImKMQQA23NroQQ5OMkA=

тут сообщение об ошибке тоже странно выглядит.
источник