【发布时间】:2012-07-12 05:55:56
【问题描述】:
我有一个问题,我希望将函数调用添加到委托,但这些函数调用中的每一个都将有一个唯一的参数。我无法弄清楚或在其他地方找到解决方案,所以我求助于你们:)
下面有些伪..
(所以基本上,我正在创建一个委托和一个事件,并且 AddToDelegate 函数应该将函数调用添加到事件(具有唯一值),然后 GetData 函数在一个字符串中返回所有响应 - 问题出在 AddToDelegate 函数中,因为 a += new A(SomeFunc)(i.ToString()); 行实际上应该只是 += new A(SomeFunc);)
有没有办法与代表一起做这件事 - 还是我找错了树?
public delegate string A(string s);
public event A a;
public void AddToDelegate()
{
for (int i = 0; i < DelegateList.Length; i++)
{
a += new A(SomeFunc)(i.ToString());
}
}
public string GetData()
{
StringBuilder _sb = new StringBuilder();
if (a != null)
{
Delegate[] DelegateList = a.GetInvocationList();
for (int i = 0; i < DelegateList.Length; i++)
{
_sb.Append(((A)DelegateList[i]));
}
}
return _sb.ToString();
}
【问题讨论】:
-
你想要完成什么?
-
上面的伪代码会生成一个字符串,详细说明所有唯一值
-
该问题询问您要完成的工作,而不是上述伪代码未能完成的工作。您可能确实找错了树,但我们无法知道,除非您告诉我们什么您想做什么,而不是如何您无法做到。您的输入和预期输出是什么?给出一个使用示例,而不是一个实现示例。