gpt4 book ai didi

c# - FileInfo 的空对象模式

转载 作者:行者123 更新时间:2023-11-30 14:11:22 24 4
gpt4 key购买 nike

我有一个返回 FileInfo 对象的方法。调用方法后 fooFile.FullName 被调用。

一切正常,但在某些情况下 FileInfo 可以是 null,但我不希望在调用方法的地方进行(丑陋的)null 检查。

我需要的是某种空文件信息 ( Null-Object-Pattern )。当调用 fooFile.FullName 返回一个空字符串时就足够了。不幸的是 new FileInfo(string.Empty) 不起作用。

正在搜索所以带上这个 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.
}

默认文件信息类:

public static class DefaultFileInfo
{
public static readonly FileInfo Value = new FileInfo("null");
}

如果要使默认文件可读,当然需要指定一个有效的文件名。

关于c# - FileInfo 的空对象模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20266640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com