在使用#region(在C#和VB.NET中)维护大量代码之后,在我看来,这个构造只是程序员的一堆"make work".将dang事物放入代码中是有用的,然后他们使搜索和阅读代码非常烦人.
有什么好处?为什么编码人员会把这个放在他们的代码中.
让我成为一个信徒!
一个类似的问题已经被问.
但...
我不会说了.它原本打算在早期版本的.NET中隐藏WinForms 生成的代码.对于部分课程,需求似乎消失了.恕我直言,它现在作为一个组织结构被过度使用,并且没有任何编译器价值.这一切都适用于IDE.
很多时候,部分和#regions都被用作糟糕设计的拐杖(例如,课程太大或试图做太多事情).
到目前为止,我对#regions 的最佳用途是在许多不同的类中看到的功能分组.例如,具有getter,setter,构造函数和支持字段的值对象.我可能会将这些想法分组到各个地区.然而,关于这是否使代码更清晰或更难阅读,这是一个意见问题.
http://www.rauchy.net/regionerate/ - 自动区分您的代码;)
我是各个区域的粉丝,可以将大型课程的各个部分组合在一起,说所有的属性,所有的常数等等.我是一个经常折叠代码的人,我当时不需要看,所以我喜欢这个区域.
我也发现区域在实现接口时非常有用,特别是多个接口.我可以对每个接口方法,属性,事件等进行分组,以便一目了然地查看哪个方法属于哪个接口.
我一直都在使用它们.与其他任何东西一样,它们既可以用于恶意也可以用于恶意,并且肯定可以成为糟糕设计的标志,但它们可以用来帮助组织代码.
#region Properties #region Update Section #region Accessors
当然你应该避免杰夫的例子
#Sweep under carpet
正如杰夫所指出的那样,我发现奇怪的是,它们是用于ui目的的编译器预处理器命令.我确信VS团队可以用另一种方式做一些有用的事情.