<分区>
我有一个场景,我想清楚地传达调用者有责任处理流,同时防止调用者发现底层文件的路径——调用者不应该知道流来自文件系统。此外,调用者稍后才需要流,因此我可能不需要立即打开它。
鉴于此,我认为为此目的利用 Lazy
public Lazy<Stream> GetContent(string key)
{
string path = GetFilePath(key);
return new Lazy(() => File.OpenRead(path));
}
我是不是想多了?我应该只返回一个 Stream 吗?