c# – FileInfo的空对象模式
发布时间:2020-12-16 01:58:42 所属栏目:百科 来源:网络整理
导读:我有一个返回FileInfo对象的方法.调用方法后调用fooFile.FullName. 一切都很好,但有一种情况,FileInfo可以为null,但我不希望(丑陋)null检查方法被调用. 我所知道的是某种null-FileInfo(Null-Object-Pattern).调用fooFile.FullName返回空字符串就足够了. 不幸
我有一个返回FileInfo对象的方法.调用方法后调用fooFile.FullName.
一切都很好,但有一种情况,FileInfo可以为null,但我不希望(丑陋)null检查方法被调用. 我所知道的是某种null-FileInfo(Null-Object-Pattern).调用fooFile.FullName返回空字符串就足够了. 搜索SO带来了这个java-question,但答案对我没有帮助. 有没有办法将FileInfo与Null-Object-Pattern结合使用? 解决方法
你可以用??运算符在需要时使用默认的FileInfo,静态变量代表什么是默认的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"); } 如果您要使默认文件可读,那么您当然需要指定有效的文件名. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |