ReSharper "Possible NullReferenceException" wrong
本文关键字:quot wrong NullReferenceException Possible ReSharper | 更新日期: 2023-09-27 18:10:01
我刚刚开始使用ReSharper,我试图确定为什么它认为这段代码是错误的。
var file = new FileInfo("foobar");
return file.Directory.FullName;
它突出显示file.Directory
为"可能的System.NullReferenceException"。我不确定这是如何可能的,因为文件对象永远不能为空,我无法弄清楚DirectoryInfo
对象如何从FileInfo
对象返回可能是空的。
Directory
属性确实可以是null
。该属性的实现大致为
public DirectoryInfo Directory {
get {
string directoryName = this.DirectoryName;
if (directoryName == null) {
return null;
}
return new DirectoryInfo(directoryName);
}
}
它肯定可以返回null
。下面是一个具体的例子
var x = new FileInfo(@"c:'");
if (x.Directory == null) {
Console.WriteLine("Directory is null"); // Will print
}