使用类中的方法

时间:2011-11-23 12:55:39

标签: c# .net class methods

我有两节课。例如,让它们成为目录和文件。我有自己的自定义类,而不是.NET Framework的一部分。 因此,Directory具有Title字段和文件列表。文件也有几个字段。

我应该在哪里放置按目录标题返回文件列表的方法,例如, 在Directory类或File类中?

即。哪一个更好:

public List<Files> Directory.GetFiles(string directoryTitle){...}
public List<Files> File.GetFilesByDirectory(string directoryTitle){...}

为什么?

4 个答案:

答案 0 :(得分:4)

两个想法:

首先,它是知道列出文件的目录,因此它应该存在。

其次,尝试坚持返回类型的接口 - IList而不是List。这使您可以更灵活地返回不同类型的列表和单元测试。

答案 1 :(得分:0)

我首先要说的是更好

public List<Files> Directory.GetFiles(string directoryTitle){...} 

由于文件本身不应该知道它所在的位置,并且目录知道它包含哪些文件。

答案 2 :(得分:0)

你实际放置它们的地方是你自己的特权,但我要说在这个实例中使用第一个版本更加语义合理:Directory.GetFiles。 .NET框架实际上公开了一个Directory类,您可以将其用作此示例,包含此类方法。

考虑到目录实例已经包含已知文件列表,除了其他方式之外,这似乎也是反直觉的做法。

答案 3 :(得分:0)

我个人会单独留下这两个类,并创建第三个类来完成最大化代码重用机会的工作。称之为DirectoryFileFinder或类似的东西。