KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm using ReSharper 5.0, and am wondering how its code analysis function knows to higlight the following assemblies == null with the comment "Expression is always false". var directory = new DirectoryInfo("somedir"); FileInfo[] assemblies = directory.GetFiles("*.dll"); if (assemblies == null <<--- this is highlighted with "Expression is always false" || assemblies.Length == 0) { _log.Warn("No assemblies found"); } I'd understand if the return type was a value-type, which it isn't. I'd also understand if there was some sort of code contract or metadata stating .GetFiles() will never return null. but I don't think there is. So - how does it know this? Am I missing something obvious, or does ReSharper have some privileged knowledge, such as an internal list of metadata about framework methods? Or does it actually " introspect " the internal code and work it out?
Tags (comma-separated)
Save Edits
Cancel