经常发生这样的情况,即我的私有(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/