ReSharper 5.0 kullanıyorum ve kod çözümleme işlevinin "İfade her zaman yanlış" olan aşağıdaki assemblies == null
'u nasıl algıladığını bildiğini merak ediyorum.ReSharper bu dönüş türünün asla boş olmadığını nasıl biliyor?
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");
}
Dönüş türünün, bir değer türü olup olmadığını anlayamazdım. Ayrıca, bir çeşit kod sözleşmesi veya .GetFiles()
'un hiçbir zaman geri dönmeyeceğini belirten meta verilerin olup olmadığını da anlarım. ama sanırım yok.
Peki bu nasıl biliyor? Açık bir şey eksik mi, yoksa ReSharper'ın çerçeve yöntemleri ile ilgili bir meta veri listesi gibi bazı ayrıcalıklı bilgiye sahip mi? Ya da aslında iç kodu "içgüdüsel olarak" ve bunu çalışır?
Sadece belgelere bakmış olabilirler: "Hiçbir dosya yoksa, bu yöntem boş bir dizi döndürür." – stuartd
Oh evet, onlar sadece aramayi bilmedilerHelper.ReadDocs() – heisenberg