C# 函数中的区域关键字
我通常使用以下行组织代码C# 函数中的区域关键字,c#,vb.net,C#,Vb.net,我通常使用以下行组织代码 #Region "Comments.." #End Region 但当我想在函数中使用它时,它会给出错误(“…在…内无效”)。 函数中是否有任何关键字来实现此目的 下面给出了错误 Public Function Mail() As Boolean #Region "Error" #End Region End Function 对于vb.net,但同样的问题在c#中仍然存在。如下所示: 必须在类、模块或命名空间级别声明#区域块。可折叠
#Region "Comments.."
#End Region
但当我想在函数中使用它时,它会给出错误(“…在…内无效”)。
函数中是否有任何关键字来实现此目的
下面给出了错误
Public Function Mail() As Boolean
#Region "Error"
#End Region
End Function
对于vb.net,但同样的问题在c#中仍然存在。如下所示:
必须在类、模块或命名空间级别声明#区域块。可折叠区域可以包括一个或多个过程,但不能在过程内部开始或结束
所以,不,没有办法做到这一点。正如Marc Gravell所说,将#区域放在函数中是合法的。 请参阅c中的以下示例#
呃。。。如果你需要在你的方法中加入区域,那你就错了。它们不应该是页长的 您需要提供一个示例,说明它在哪里不起作用,以及完整的错误消息。您能说明如何使用它以及完整的错误详细信息吗?但当我想在函数中使用它时,“你到底是什么意思?”?代码和全错误请。如果你觉得你需要一个方法内的区域,你应该考虑重构该方法。在方法中放置区域是完全合法的。然而,为了反映别人,如果你觉得你需要做这件事,有些事情是错误的。不,没有。考虑一下Mikael在评论中所说的,重构并将代码提取成单独的方法。“ToupPult”,我只问,“函数中是否有类似的方法?”Lasse只回答了(引用文件中的来源);答案就是“不”。
private void showMessags(int ID)
{
#region " Display Message "
if (ID == 1)
{
lblMessage.Text = "Hi";
}
else if (ID == 2)
{
lblMessage.Text = "Hello";
}
#endregion
}