【问题标题】:c# #region/#endregion mismatchc# #region/#endregion 不匹配
【发布时间】:2019-08-11 09:04:24
【问题描述】:

任何人都知道找出我的代码中哪里有额外的#region 或#endregion 的好方法吗?我有大约 5000 行 c# 代码,我现在正在尝试手动执行。任何帮助表示赞赏。

【问题讨论】:

  • @toosweetnightmare Tejs 是正确的;您的区域不匹配这一事实表明存在更大的问题。发现问题后,我建议您尽最大努力使每个班级尽可能小。
  • 部分课程对此非常有用,或者单独的课程;-)
  • 我把它分解成类,我喜欢把类中的代码分解成带有标题的小区域来管理它。这可能不是最佳实践,但我不是软件工程师,它对我有用。
  • 听起来有点像它实际上不起作用。我认为这个想法是你的班级太大了。
  • 我认为我只是听从 Tejs 的建议并删除我所有的#region 和 #endregion

标签: c# visual-studio region


【解决方案1】:

执行 CTRL+M CTRL+L - 关闭所有区域。然后在左侧一次一个地展开它们(小+ 符号),直到看到没有匹配#endregion#region XXX

应该是这样的:

【讨论】:

  • 感谢 SwDevMan81。我已经这样做了。我可能只是用 // 替换我的所有#regions 并用 // 替换我的#endregion 来解决问题。
  • 感谢您的更新。我现在要试试。我会在几分钟后回来告诉你进展如何。
  • 那行得通。结果实际上是一个愚蠢的错字。非常感谢!
【解决方案2】:

单击Ctrl+M, M 它将折叠所有正确匹配的区域。不匹配的不会被折叠,你可以修复它。

【讨论】:

  • 这样做会关闭所有内容,除了一个单独的#endregion 我必须放在最后以消除错误
【解决方案3】:

当您使用快捷方式折叠所有内容时会发生什么?

CTRL+M CTRL+O - 不递归折叠所有区域

它应该折叠所有不匹配的区域。

【讨论】:

  • 它让我的命名空间和我的类打开
【解决方案4】:

我自己也遇到了这个问题,

对我来说,找出我删除了 endregion 的最简单方法是与源代码管理中的最后一个文件进行比较。

然后该行被突出显示并且很容易找到。

【讨论】:

  • 一个很好的建议。不幸的是,我没有以前的副本可用于源代码控制,但我可以看到这将如何非常有用。感谢您加入我的问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
相关资源
最近更新 更多