C#:为什么我们不能有内部方法/局部函数?

标签 c# .net

经常发生这样的情况,即我的私有(private)方法变得非常大并且包含重复任务,但这些任务非常具体,以至于将它们提供给任何其他代码部分没有意义。

所以在这种情况下能够创建“内部方法”真的很棒。

是否有任何技术(甚至是哲学?)限制阻止 C# 为我们提供此功能?还是我错过了什么?

2016 年更新:即将推出,它被称为“本地功能”。查看标记的答案。

最佳答案

好吧,我们可以在函数内部定义“匿名方法”(我不建议使用它们来组织大型方法):

void test() {
   Action t = () => Console.WriteLine("hello world");  // C# 3.0+
   // Action t = delegate { Console.WriteLine("hello world"); }; // C# 2.0+
   t();
}

关于C#:为什么我们不能有内部方法/局部函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1211457/

相关文章:

c# - 使用模数查找数字的目的?

c# - Dictionary.Keys.List()[i] 是否对应于 Dictionary.Values.ToList()[i]?

c# - 加载 SyndicationFeed 和异步/等待

c# - 为什么app.config运行不正常?

c# - 请说明如何在.Net 4.6中使用EventListener类

.net - 使用 Visual Studio.Net 进行 iOS 开发

C#序列化私有(private)类成员

c# - c# 中的 vbNullChar 等价物是什么?

C# xml内联数组反序列化

c# - 从 DataGridView 中的枚举创建下拉列表选项