Задать вопрос
@Alexeeys3223

Как сериализовать делегат?

Доброго времени суток. У меня есть класс полоски меню, в котором есть делегат - вызов метода, который выбран (по индексу). Когда я сохраняю меню, как мне сохранить и эти методы, чтобы при десериализации, меню знало, какие методы оно вызывает?
public class MenuItem : MenuParent
    {
        
        private Action<MenuParent> methodToCallWithBack;
        
        private Action methodToCall;


        public MenuItem(string text, Action<MenuParent> methodToCallWitchBack)
        {
            this.methodToCallWithBack = methodToCallWitchBack;
            Text = text;
        }

        public MenuItem(string text, Action methodToCall)
        {
            this.methodToCall = methodToCall;
            Text = text;
        }

        public override void Create()
        {
            methodToCallWithBack?.Invoke(this);
            methodToCall?.Invoke();
        }
    }
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
@VitalyChaikin
Тогда каждому меню надо присвоить Name, а вместо .Invoke() вызывать .InvokeByName()
Со всеми вытекающими последствиями ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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