C# 为什么我不能在函数级别声明委托?

C# 为什么我不能在函数级别声明委托?,c#,delegates,C#,Delegates,对不起,如果这个问题太简单或容易 我刚开始用C#学习代理。当我试图在函数中声明一个委托时,我得到了设计时错误,但是当我在类级别声明同一个委托时,它工作得很好。为什么? 如果重要的是代码:delegate void Test()AFAIK,这样声明一个委托(在C#中,我假设这是您正在使用的语言)就是声明一个新类型。正如不能在方法中声明类、结构或接口一样,也不能声明此类型 编辑:如果你只是学习代表,语言确实是C语言,考虑使用FUNC模板委托!它将使您避免到处都有声明 在函数中定义委托本质上就是在函数

对不起,如果这个问题太简单或容易

我刚开始用C#学习代理。当我试图在函数中声明一个委托时,我得到了设计时错误,但是当我在类级别声明同一个委托时,它工作得很好。为什么?


如果重要的是代码:
delegate void Test()

AFAIK,这样声明一个委托(在C#中,我假设这是您正在使用的语言)就是声明一个新类型。正如不能在方法中声明类、结构或接口一样,也不能声明此类型

<>编辑:如果你只是学习代表,语言确实是C语言,考虑使用FUNC模板委托!它将使您避免到处都有声明


在函数中定义委托本质上就是在函数中声明函数。委托的目的是在函数/方法之间传递它们,因此它们只有在类级别声明时才有用。

第二部分介绍Func和Action。如果您正在方法中寻找类似委托的功能,那么以下就是解决方法。在一个方法中没有创建实际委托的用例。