PragmaGames
@PragmaGames
Увлекаюсь Unity.

Возможно ли добавить метод к делегату который был получен через out параметр?

Всем привет. Немного псевдокода. В одном классе у меня есть словарь с делегатами, и метод который находит нужный делегат, так же этот класс инвокает данные делегаты

public bool TryFind(string name, out Action action)
{
       action = dictionary[name];
}


Метод другого класса может взять нужный делегат и добавить метод
public bool AddMethod()
{
      if(TryFind("a", out var value)
      {
            value += methodA;
      }
}

Само собой такой код не работает, так как после присвоения нового метода объект делегата изменится. Как можно решить такой трабл ? Понятно что после изменения делегата можно вставить новый делегат в то место откуда мы его взяли, но может существует более простой способ.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
insighter
@insighter
-First time? - Huh? (C#, React, JS)
У вас при таком подходе нарушение инкапсуляции класса.
Через методы класса в котором хранятся делегаты и нужно добавлять методы в делегаты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы