2012-03-28 9 views
6

Ben bu kod hattı var. Bunun ne anlama geldiğini ve onu nasıl düzelteceğimi anlamada sorun mu yaşıyor?FORWARD_NULL null?</p> <pre><code>this.Path = pathLookUpLocation.GetValue(RegLookupKey, null).ToString(); </code></pre> <p>ben boş buraya dereferencing ediyorum söyleyerek, burada bir FORWARD_NULL olsun benim kod üzerinde statik analiz aracı (Coverity) çalıştırın:

this.Path bir dizedir, pathLookUpLocation bir RegistryKey'dir, RegLookupKey bir dizedir.

+0

O bize ... –

cevap

4

pathLookUpLocation türünün RegistryKey türünde olduğunu varsayalım.

Bu iletinin nedeni, ile belirtilen anahtarın değeri bulunamadığında kodunuzun NullReferenceException değerini atmasıdır. Bu, null'u GetValue'a ikinci parametre olarak geçirdiğinizden olur. İkinci parametre, anahtar bulunamazsa döndürülen varsayılan değerdir. string.Empty bunu değiştirerek

Fix it:

this.Path = pathLookUpLocation.GetValue(RegLookupKey, string.Empty).ToString(); 
+0

Teşekkür Daniel katılan türleri hakkında bazı ipuçları verebilir, gerçekten yardımcı olacağını zaman elimden cevap olarak işaretlemek olacak! – DukeOfMarmalade

İlgili konular