0

getvalues()メソッドから返された値に基づいてwpfアプリケーションでツリーを構築しています。xmlファイルを解析し、変数に値を格納して、その値にアクセスしているクラスに返します。レジストリキーからxmlファイルにアクセスしています。私のマシンにxmlファイルがない場合、アプリケーションは空のツリーを表示するはずです。

だから私はこのように書いた。xmlファイルがない場合にnullを返しました

public class Model
 {
    public Model()
    {

            using (RegistryKey pRegKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Something"))
            if (pRegKey != null)
            {

                Object val = pRegKey.GetValue("INSTALLLOGSDIR");
                basepath = (string)val1;
                tot_val = basepath+ @"\some.xml";
            }
            else
            {
                MessageBox.Show("some.xml Not found in ur machine.");
            }
    }

 public Mainclass[] getValues()
    {
        if (tot_val.Equals(null))
        {
            return null;
        }
        else
        {
        //return something of type Mainclass[];
        }
      }
}

しかし、例外が発生し続けています利用可能なソースがありません呼び出しのターゲットによって例外がスローされました。

この問題を解決するのを手伝っていただければ幸いです。重複している場合は申し訳ありません。いくつかのフォーラムを検索しました。dinは関連するシナリオを見つけます。
前もって感謝します。

4

1 に答える 1

0

コメントで述べられているように:

tot_val.Equals(null)は奇妙で、tot_valueがnullかどうかを比較することになっている場合は、NullPointerException-で失敗します==。代わりに使用してください。

于 2013-01-11T10:13:33.077 に答える