C# 为什么如果操作不返回值,它需要一个return语句?
考虑以下几点:C# 为什么如果操作不返回值,它需要一个return语句?,c#,C#,考虑以下几点: public Action MyAction() { //Take some action } 现在请注意: 但是,我们也会遇到以下编译时错误: 我希望编译时能更好地处理这个问题,还是我遗漏了什么?操作本身可能不需要返回语句,但MyAction方法确实需要。为什么?因为它有一个返回值: public Action MyAction() { //Take some action } 编译器对深入了解返回值是什么或返回后它将如何运行的细节不感兴趣。它只是强制非v
public Action MyAction()
{
//Take some action
}
现在请注意:
但是,我们也会遇到以下编译时错误:
我希望编译时能更好地处理这个问题,还是我遗漏了什么?
操作本身可能不需要返回
语句,但MyAction
方法确实需要。为什么?因为它有一个返回值:
public Action MyAction()
{
//Take some action
}
编译器对深入了解返回值是什么或返回后它将如何运行的细节不感兴趣。它只是强制非void
方法返回正确类型的实例。MyAction是一个返回操作的方法……您正在创建一个需要返回Action
对象的方法要正确,它不需要return
,它要求方法结尾不可到达。它可以为(;;)抛出,甚至挂起代码>。