Mic*_*cha 5 .net c# design-patterns file fileinfo
我有一个返回FileInfo-object 的方法。调用后该方法fooFile.FullName被调用。
一切都很好,但有一种情况是FileInfocan be null,但我不希望在调用该方法的地方进行(丑陋的)空检查。
我需要的是某种空文件信息(空对象模式)。fooFile.FullName当调用返回空字符串时就足够了。不幸的new FileInfo(string.Empty)是不起作用。
搜索SO带来这个java-question,但答案对我没有帮助。
FileInfo有没有办法与 Null-Object-Pattern 结合使用?
您可以使用该??运算符在需要时使用默认值FileInfo,并在某处使用静态变量表示默认文件信息:
public void MyMethod(FileInfo fi)
{
// use default fileinfo if null is passed to this method
fi = fi ?? DefaultFileInfo.Value;
// method code...
// do something with the fileinfo, it is not null for sure now.
}
Run Code Online (Sandbox Code Playgroud)
默认文件信息类:
public static class DefaultFileInfo
{
public static readonly FileInfo Value = new FileInfo("null");
}
Run Code Online (Sandbox Code Playgroud)
如果您要使默认文件可读,当然您需要指定一个有效的文件名。
| 归档时间: |
|
| 查看次数: |
3685 次 |
| 最近记录: |