我有一个用户定义的类,我想创建一个公共列表作为其中的一部分。我希望列表成为我可以添加到的委托函数列表,并将每个列表成员设置为委托函数。我希望这个函数列表成为我实例化的类的一部分,因此它会在我将其传递给其他函数时遵循该类的实例。我需要能够通过foreach循环调用委托函数,所以它也必须是IEnumberable。列表<T>在IEnumerable类代表<T>
我一直在尝试几个小时,我有可能或不可能完成部分工作。当它开始看起来像我需要为自定义列表编写我自己的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上查看代码来完成的。我几乎不知道它应该做什么。
请添加您拥有的代码,因为它不清楚我的问题是什么。 –
为什么不使用事件模式? http://www.codeproject.com/KB/cs/event_fundamentals.aspx –