我有以下代码:
public List<IWFResourceInstance> FindStepsByType(IWFResource res)
{
List<IWFResourceInstance> retval = new List<IWFResourceInstance>();
this.FoundStep += delegate(object sender, WalkerStepEventArgs e)
{
if (e.Step.ResourceType == res) retval.Add(e.Step);
};
this.Start();
return retval;
}
请注意我如何将我的事件成员 (FoundStep) 注册到本地就地匿名函数。
我的问题是:“FindStepByType”函数何时结束 - 匿名函数会自动从事件的委托列表中删除,还是我必须在退出函数之前手动删除它?(我该怎么做?)
我希望我的问题很清楚。