1

假设我有一个可以有set多个public属性的(基)类。“公共”(不是从此类派生的类)仅允许用于get这些属性。

在代码中:

1.| /// <summary>
2.| /// Lorum Ipsum Factum Foobum...
3.| /// </summary>
4.| public object Foo
5.| {
6.|     get;
7.|     protected set;
8.| }
9.|

这需要 9 行样板代码。如果您有一个包含许多这些属性的类文件,它会变得非常混乱1

我可以将它重构为三行,如下面的代码示例所示。但是在处理许多属性时,它仍然是令人眼花缭乱的2

1| /// <summary> Lorum Ipsum Factum Foobum. </summary>
2| public object Foo{ get; protected set;}
3|

我可以将它们放在一个区域中,但我发现区域有自己的问题(IME,这些区域在编码时很少折叠,它们需要辅助工作,即:您扩展区域,向下滚动,检查/更改某些内容,滚动向上并再次折叠该区域)。

所以我的问题是:

在处理多个属性时,还有其他方法可以减少类文件的冗长吗?3 4


1找不到更好的词,这个问题假设文件的“混乱”与代码行成正比。

2恕我直言,当然,如果您喜欢整齐排列的属性,那么如果我冒犯了您,我很抱歉;)

3我可以想象将所有这些属性放逐到部分类文件中,但我从未见过将部分类用作属性堆,所以我不确定这是否是一种好的做法。

4或者也许用编译器做一些“整洁”的事情。

4

1 回答 1

1

{ get; set; }几乎是浓缩的。将类定义保存在与逻辑不同的文件中,以尽量减少冗长。

还有一点需要注意:在处理大量模型/数据时,Visual Studio 有很多解决方案。

如果您使用来自预先存在的数据库的数据,您可以查看 LINQ-to-SQL .dbml,它基本上消除了完全定义模型对象的需要,让您只关注自定义类和对象。当然,这个的使用取决于你的项目的规格。

更新:另一件事:如果您有很多具有类似方法的“相似”(非常松散的定义)类,并且担心各个类会占用的空间,您可以查看多态性http://msdn.microsoft .com/en-us/library/ms173152.aspx。您还可以在给定时间从内存中较少的新对象中获得性能提升。

于 2013-10-11T12:11:15.753 回答