【发布时间】:2013-11-28 12:48:03
【问题描述】:
我有一个返回FileInfo-object 的方法。在调用方法fooFile.FullName 之后被调用。
一切都好,但在某些情况下FileInfo 可以是null,但我不想(丑陋的)空检查调用该方法的位置。
我需要的是某种 null-FileInfo (Null-Object-Pattern)。调用fooFile.FullName 返回一个空字符串就足够了。
不幸的是new FileInfo(string.Empty) 不起作用。
搜索所以带上这个java-question,但答案对我没有帮助。
有没有办法将FileInfo 与 Null-Object-Pattern 结合使用?
【问题讨论】:
-
如果一个对象可以为空,那么空检查并不难看。但您也可以使用
Try-模式:FileInfo fi; if(TryGetFile(path,out fi)){}。 -
@Tim Schmelter:感谢蒂姆的意见。我的方法在很多地方都使用过。所以我不会为每个调用实施(冗余)空检查。
TryGetFile很有趣,但同样的问题。
标签: c# .net file design-patterns fileinfo