为什么我不能在功能级别声明代理?

RHa*_*uda 4 c# delegates

对不起,如果这个问题过于简单或容易.

我刚开始使用C#学习代表.当我试图在函数内声明一个时,我得到了设计时错误,但是当我在类级别声明相同的Delegate时,它工作正常.为什么?

如果这是代码: delegate void Test();

Ste*_*anu 8

AFAIK,声明一个这样的代表(在C#中,我假设是你正在使用的语言)声明一个新类型.正如您无法在方法中声明类,结构或接口一样,您也无法声明此类型.

编辑:如果您只是学习代理,并且语言确实是c#,请考虑使用Func模板化委托!它将使您免于在任何地方声明.

http://msdn.microsoft.com/en-us/library/bb549151.aspx