Задать вопрос
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;
      }
}

Само собой такой код не работает, так как после присвоения нового метода объект делегата изменится. Как можно решить такой трабл ? Понятно что после изменения делегата можно вставить новый делегат в то место откуда мы его взяли, но может существует более простой способ.
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
  • Учебный центр IBS
    DEV-001_NET Шаблоны проектирования GoF. Редакция для .NET
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
insighter
@insighter
-First time? - Huh? (C#, React, JS)
У вас при таком подходе нарушение инкапсуляции класса.
Через методы класса в котором хранятся делегаты и нужно добавлять методы в делегаты.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы