Всем привет. Немного псевдокода. В одном классе у меня есть словарь с делегатами, и метод который находит нужный делегат, так же этот класс инвокает данные делегаты
public bool TryFind(string name, out Action action)
{
action = dictionary[name];
}
Метод другого класса может взять нужный делегат и добавить метод
public bool AddMethod()
{
if(TryFind("a", out var value)
{
value += methodA;
}
}
Само собой такой код не работает, так как после присвоения нового метода объект делегата изменится. Как можно решить такой трабл ? Понятно что после изменения делегата можно вставить новый делегат в то место откуда мы его взяли, но может существует более простой способ.