2012-03-16 15 views
-1

静的な「グローバル」クラスを持つasp.netアプリケーションがあります。静的クラスの中に私はuserという変数があります。ユーザーがその変数のセットにログインしたとき。ログ処理によるデバッグ私の他のすべての静的変数は、2つ以外は問題ありません。私はなぜ 'GlobalVariables.User'が 'System.NullReferenceException'型の例外をスローしたのかわかりません。 誰かがこれについていくつかの光を当てることができます。ありがとう静的クラスのNullReferenceException

namespace GlobalClass 

public static class GlobalVariables 


public static User User { get; set; } 
+0

静的なユーザーはどのように設定されますか、それを設定するコードは、例外をスローする参照が実行される前に実行されていますか? – hatchet

+0

あなたのコードを教えてください!それがなければ、私たちはあなたを助けることができません。 – svick

答えて

2

あなたがUserのインスタンスを作成しなかったためにおそらく投げられます。これを修正する1つの方法は次のとおりです。

public static class GlobalVariables 
{ 
    static GlobalVariables() 
    { 
     User = new User(); 
    } 

    public static User User { get; set; } 
} 
+0

NREを投げるのではなく、ユーザーが単に「ヌル」になるのではないでしょうか? – Vache

+0

@Vache - 私が何かを見逃していない限り、ユーザーはnullなので、メンバーにアクセスするとNREが投げられます。 –

+0

それは確かですが、私はOPがそのメンバーではなく、「ユーザー」にアクセスしていると思っていました。 – Vache