У меня есть определенный пользователем класс, для которого я хочу создать общедоступный список.Я хочу, чтобы список был списком функций делегата, к которому я могу добавить и назначить каждому члену списка функцию делегата.Я хочу, чтобы этот список функций был частью класса, который я создаю, поэтому он следует за экземпляром класса, когда я передаю его другим функциям.Мне нужна возможность вызывать делегированные функции через цикл foreach, поэтому он также должен быть IEnumberable.
Я пытался в течение нескольких часов, то, что у меня есть, может или не может выполнять часть работы.Когда он начал выглядеть так, как будто мне нужно было написать свои собственные подпрограммы IEnumberation для настраиваемого Списка, я понял, что я был над головой и пришел сюда.
Это код, который у меня есть:
public delegate List<ChartTestModel> MyDelegate<T>(T i);
public class DelegateList<T>
{
public void Add(MyDelegate<T> del)
{
imp.Add(del);
}
public void CallDelegates(T k)
{
foreach (MyDelegate<T> del in imp)
{
del(k);
}
}
private List<MyDelegate<T>> imp = new List<MyDelegate<T>>();
}
Я даже не знаю, делает ли это то, что я хочу, или нет.Я знаю, что не могу пройти через это, хотя.Он полностью написан на основе собранного кода от Google.Я едва понимаю, что он должен делать.