Добавление и удаление методов из действия, переданного в качестве аргумента в C#" ⇐ C#
-
Гость
Добавление и удаление методов из действия, переданного в качестве аргумента в C#"
Я пытаюсь добавить метод к действию, переданному в качестве аргумента, и удалить его после запуска действия, но кажется, что оно создает новое значение.
Action testAction = () => { Console.WriteLine("первоначальный вызов"); }; повреждение.AddModifier(тип, значение, testAction); testAction?.Invoke(); // регистрирует только первоначальный вызов public void AddModifier (тип ModType, значение с плавающей запятой, действие RemoveModEvent) { AddModifier(тип, значение); Действие е = ноль; е = () => { Console.WriteLine("удалить модификатор"); RemoveModifier(тип, значение); удалитьModEvent -= е; }; удалитьModEvent += е; } Я работал пару часов, но не нашел решения, есть предложения?
Я пытаюсь добавить метод к действию, переданному в качестве аргумента, и удалить его после запуска действия, но кажется, что оно создает новое значение.
Action testAction = () => { Console.WriteLine("первоначальный вызов"); }; повреждение.AddModifier(тип, значение, testAction); testAction?.Invoke(); // регистрирует только первоначальный вызов public void AddModifier (тип ModType, значение с плавающей запятой, действие RemoveModEvent) { AddModifier(тип, значение); Действие е = ноль; е = () => { Console.WriteLine("удалить модификатор"); RemoveModifier(тип, значение); удалитьModEvent -= е; }; удалитьModEvent += е; } Я работал пару часов, но не нашел решения, есть предложения?
Мобильная версия