Я разработчик С++, использующий сигналы и слоты в С++, которые мне кажутся аналогичными делегатам в С#. Я оказался в затруднении при поиске функциональности, предоставляемой "bind", и чувствую, что мне что-то не хватает.
Мне кажется, что что-то вроде следующего, что возможно в С++, должно быть возможным в С# с делегатами. Вот несколько psudo-кода для того, что я буду делать в С++:
Slot<void> someCallback;
int foo(int i)
{
std::cout << "Value: " << i << "\n";
return i;
}
int main()
{
int i = 0;
Slot<int> someCallback = bind( fun_ptr(foo), i );
++i; // added to show that late evaluation would be a non-trivial difference
int result = someCallback();
assert( result == 0 );
return 0;
}
К сожалению, мне не удалось найти ссылку на привязку/переделку в отношении делегатов С#. Я что-то упускаю? Есть ли какой-то радикально другой способ сделать это в С#?