質問

 if (alMethSign[z].ToString().Contains(aClass.Namespace))

ここで、私はexeファイルやDLLをロードし、その名前空間を確認してください。いくつかのDLLで、そこには、名前空間ではありませんので、aclass.namespaceは存在せず、それがNullReferenceExceptionを投げています。

私はちょうどそれを避けるために持っており、それは、コードの残りの部分を継続する必要があります。私はのtry-catchを使用している場合、それはキャッチ部分を実行します。私はそれは、コードの残りの部分を続行します。

役に立ちましたか?

解決

aClass Typeインスタンスですか?もしそうなら - ちょうどヌルのためにそれをチェックします:

if (aClass != null && alMethSign[z].ToString().Contains(aClass.Namespace))

他のヒント

例外をキャッチしないでください。代わりに、それを防御ます:

string nmspace = aClass.Namespace;

if (nmspace != null && alMethSign[z].ToString().Contains(nmspace))
{
    ...
}

if文でnullのためのテストを追加します。

if(aClass.NameSpace != null && alMethSign[z].ToString().Contains(aClass.Namespace))

またはこれに拡張メソッドを使用して任意のヌルをチェックし、いずれかの空の文字列またはオブジェクトの文字列値を返す

public static string ToSafeString(this object o)
{
return o == null ? string.Empty : o.ToString();

}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top