2012-01-12 58 views

回答

5

这取决于该方法是否适用于类文件的所有元素。例如,lengthOfFirstLine不适用于二进制文件,因此它可能不属于一般的File类,但如果你的类只代表文本文件,那么它应该去那里。

1

对于.NET语言,还可以选择使用extension methods。这样,您不必通过向其中添加助手/实用程序方法来“弄脏”类,也不需要继承 - 只需向代码中添加using语句即可为类添加功能。

1

同意路易斯和莱斯特。如果你使用.Net,扩展方法是这种功能的一种方式。但是,如果您可以打开各种文件(如二进制文件),则应该不要将LengthOfFirstLine添加到基类中。你可以将它分类到一个FileClass并将该方法添加到该文件中。

请记住,.Net中的扩展方法无论如何都是语法糖。你可以用你自己的语言使用Static类和方法来模拟它。这就是.Net无论如何都要做的事情。

例如有一个静态的FileHelpers类,它有各种静态帮助器方法。每个这些静态方法的第一个参数是File类。所以你可以使用FileHelpers.GetLengthOfFirstLine(myOpenedFile)

相关问题