Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2014, 13:23   #1
iron-mik
 
Регистрация: 17.05.2014
Сообщений: 9
По умолчанию Как добавлять в список методы разной сигнатуры?(Запоминание действий пользователя)

Нужно запомнить все выполненные методы в список, и потом выборочно их выполнять.

Вот мой вариант с делегатами:
Классы:
Код:
class Class1
    {
        public string replaceSpaces(string a)
        {
            return a;
        }
    }
 
    class Class2
    {
        public int replaceInt(int n)
        {
            return n;
        }
    }
Мэйн:
Код:
namespace IsOnlyForMe
{
    public partial class Form1 : Form
    {
        delegate string strMod(string str);
        delegate int strMod2(int str);
 
        List<object> MyDelegatesList = new List<object>(); //Список из object куда буду сохранять экз. делегатов
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            Class1 so = new Class1();
            // Создание экземпляра делегата.
            strMod strOp = new strMod(so.replaceSpaces);
 
            Class2 so2 = new Class2();
            
            strMod2 strOp2 = new strMod2(so2.replaceInt);
            MyDelegatesList.Add(strOp);
            MyDelegatesList.Add(strOp2);
            
            foreach (dynamic object item in MyDelegatesList)    //Использовал dynamic. Можно ли так?
            {
                if (item.GetType() == strOp.GetType())
                    textBox1.Text = item("Проверка работы методов.");  
            }
 
        }
    }
}
Все бы ничего да вот использование dynamic меня пугает. Я мало о нем знаю, но как то все слишком просто.
Это не что-то из принципиально не использующегося, как оператор goto?

Кстати нет строгого условия что методы должны сохраняться именно в списке. Просто моя задача: чтобы программа запоминала действия пользователя и потом сама их выполняла.
Если знаете другой вариант как это сделать - подскажите пожалуйста!
iron-mik вне форума Ответить с цитированием
Старый 22.05.2014, 14:25   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а зачем тут dynamic ?

а ваще смотрите по шаблону Command

Последний раз редактировалось Stilet; 22.05.2014 в 14:40.
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
однонаправленный список, в котором можно добавлять элементы, удалять их по номеру, а в конце программы должна быть очистка динамич MNOPRST Паскаль, Turbo Pascal, PascalABC.NET 1 08.12.2013 21:48
Быстрый поиск сигнатуры HEX в файле, как это делается? Человек_Борща Общие вопросы Delphi 3 02.12.2012 15:47
как разделить число на 31 день в разной пропорции Larry33 Microsoft Office Excel 1 29.02.2012 10:59
как объеденить два одномерных массива разной длины? Artur1992 Помощь студентам 3 26.12.2010 20:26
как добавлять в файл ZET78 Общие вопросы C/C++ 3 02.05.2010 20:27