問題タブ [nullreferenceexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - Html.TextBox() が System.NullReferenceException をスローする
コントローラーの 1 つの編集アクションを呼び出すと、このエラーが発生します。
Edit アクション メソッドの C# コードを次に示します。
これは、validateDetail メソッドです。
次の行にエラーが表示されます。
例外の詳細: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。
このエラーを検索したところ、いくつかの解決策が見つかりましたが、どれもうまくいきませんでした。これがまったく解決できるかどうか教えてください。また、detail_id を含む特定のテーブル列を表示するだけでなく、ビューで非表示にすることを選択したことも付け加えておきます。
c# - null参照例外の回避
どうやら、コードのエラーの大部分はnull参照の例外です。null参照エラーの発生を回避するための一般的な手法はありますか?
間違えない限り、F#などの言語ではnull値を設定できないことを認識しています。しかし、それは問題ではありません。C#などの言語でnull参照エラーを回避する方法を尋ねています。
c# - コンストラクターでのデリゲート呼び出し
簡単に解決できますが、若い頃にはまだ遭遇したことのない設計上の問題に遭遇しました。
他の何かが起こる前に、いくつかのセットアップ手順を実行する必要があるクラスがあります。
ただし、このクラスの構築中に、ユーザーが独自の情報をクラスに追加できるように、コンストラクターのパラメーターにデリゲートを渡すことができます。
ただし、これが呼び出されると、クラスを作成しているスコープにはまだ有効なインスタンスがないため、null 例外エラーが発生します。
これを回避するにはどうすればよいですか?「this」のインスタンスをそのデリゲートに渡す必要がありますか?
ここでどのような決定を下すのが良いでしょうか? デリゲートへの呼び出しを簡単に行うことができる「StartServices()」メソッドがありますが、設計上はコンストラクターに含める必要があると感じています。
アドバイスありがとう!
c# - Application.Current.Resources を介してスキン/テーマを変更すると NullReferenceException が発生する
複数のスキンを使用して wpf アプリケーションを作成しています。テーマを切り替えるコードは次のとおりです。
(新しいテーマに切り替えるために) コードが最初に呼び出されると、コードは正常に実行されます。ただし、その後同じコードを呼び出すと、System.NullReferenceException がスローされます。
テーマを設定する方法は、ここで説明したものと似ています: http://www.codewrecks.com/blog/index.php/2008/05/22/simple-skinnable-and-theme-management-in-wpf-ユーザーインターフェース/ .
誰もこのエラーを見たことがありますか? 例外が他の場所でスローされるため、これをデバッグするにはどうすればよいですか? どんな助けでも大歓迎です。
c# - 読み取り専用の静的フィールドを null にするにはどうすればよいですか?
だから、ここに私のクラスの1つからの抜粋があります:
ご覧のとおり、これはスレッドごとにシングルトンです。つまり、インスタンスは ThreadStatic 属性でマークされています。インスタンスは、静的構築の一部としてもインスタンス化されます。
では、Instance プロパティを使用しようとすると、ASP.NET MVC アプリケーションで NullReferenceException が発生する可能性はありますか?
silverlight - xaml で静的 res として宣言されたカスタム obj の参照は null です。なんで?
小さな Silverlight 3 テスト アプリケーションがあります。これは、Silverlight、XAML、バインディングなどを学習する演習です。3 つのプロパティを持つ小さなテスト クラス (Test) があります。Val1、Val2、および合計。次のように XAML でリソースを宣言しました。
ユーザーコントロールにボタンがあります。このボタンのコード ビハインドは次のようになります。
ソリューションは正常にビルドされますが、実行すると、xamlTestObj を参照するときにボタン ハンドラーで NullReferenceException が発生します。ユーザー コントロールのリソース リストからオブジェクトを引き出すと、ボタン クリックを正常に実行できました。お気に入り:
私を混乱させているのは、リソース リストからオブジェクトを引き出す必要がある理由です。コンパイラが xamlTestObj 参照を参照できる場合、それが宣言されているスコープ (この場合はユーザー コントロール) の有効期間中は "ライブ" である必要があるように思えます。WPF コントロールはこのように動作します。つまり、ユーザー コントロールに配置した任意のテキスト ボックスとボタンにアクセスできます。
誰かが私のためにこれをクリアできますか?
ありがとう :-)
nhibernate - nHibernate が第 3 レベルのプロパティをロードしない (フラッシュ不可能なキャッシュ)
Sharepoint ベースの ASP.NET プロジェクトの既存の nHibernate コードを、積極的な読み込みとデータベース ヒットごとの新しいセッションから、遅延読み込みと HTTP 要求の間のセッションに切り替え始めたところ、問題が発生し始めました。
このシステムでアイテムを作成すると、ドロップダウンによって入力される多対 1 の関係がいくつかあります。これで ID が取得され、データベースに保存するのに十分です。
電子メール通知などの保存後のタスクを実行するために、以前はオブジェクト ツリー全体が取り込まれていた同じアイテムを再度読み込みます。
ただし、遅延読み込みとリクエスト全体の有効期間を持つセッションへの変更以来、不可解な null である Item の下のプロパティから NullReferenceExceptions を取得しています。
nHibernate を介して changedItem にアイテムをロードします。失敗している呼び出しは次のとおりです。
PaperMedia は完全に入力されていますが、FormsAnalyst のすべてが ID を除いて null です。
これは保存したときと同じ状態であるため、この問題の考えられる原因の 1 つは、Item がキャッシュされ、単純に取得され、nHibernate がデータベースからの実際の値を認識していないことです。ただし、トランザクションをコミットし、保存と後続のロードの間にセッションで Flush() を明示的に呼び出しているため、その場合、Commit() も Flush() もキャッシュに影響しません。
関連する hbm.xml ファイルのこれらのプロパティを lazy="false" に変更し、それらすべてに SetFetchMode FetchMode.Eager を設定しましたが、効果がありません。
問題として max_fetch_depth も検討していました。セッションで Refresh(changedItem) を呼び出しても効果はありません。ただし、Refresh(changedItem.PaperMedia) を呼び出すと、Name まですべてが読み込まれます。これは問題として max_fetch_depth を軽視しているように見えますが、それでも私は hibernate.cfg.xml で 6 に設定し、構成インスタンスで SetProperty("max_fetch_depth", "6") に設定して、それを増やそうとしました。セッションファクトリの作成中に、これらも効果がありませんでした。
他に何を試すべきかわかりません。
前にそのようなものを見た人はいますか?私はnHibernateを初めて使用するので、簡単なものかもしれません...
編集:
キャッシングが実際に問題であるように思われます。セッション インスタンスで Clear() を呼び出すと、この動作が修正されます。
では、なぜ Flush() はキャッシュされたアイテムを更新しないのでしょうか? それはまさに私がそれを行うために構築されたと思ったことです。
.net - 「オブジェクト参照がオブジェクトのインスタンスに設定されていない」がより説明的でないのはなぜですか?
開発者として、私たちはしばしばその例外に遭遇します:NullReferenceException
よく知られているエラーメッセージで:
オブジェクト参照がオブジェクト インスタンスに設定されていません
.NET Frameworkがもう少し意味のあるものを返すことはできませんか?
次のようなもの:
Yという名前のタイプXのオブジェクトがオブジェクトのインスタンスに設定されていません
c# - 空のgeneric.dictionaryコレクションをテストする方法は?
汎用ディクショナリオブジェクトをテストして、それが空かどうかを確認するにはどうすればよいですか?次のようにコードを実行したいと思います。
reportGraphオブジェクトのタイプはSystem.Collections.Generic.Dictionaryです。このコードを実行すると、reportGraphsディクショナリは空になり、MoveNext()はすぐにNullReferenceExceptionをスローします。空のコレクションを処理するよりパフォーマンスの高い方法がある場合は、ブロックの周りにtry-catchを配置したくありません。
ありがとう。
c# - 変数を必須にする-NullReferenceExceptionを回避するには?
[解決済み]-間違いは私のもので、World(world_)をエンティティにリンクしなかったため、nullでした。みなさん、説明ありがとうございます!
ご存知かもしれませんが、私はゲームエンジン/フレームワークを作成していて、相互に参照するものをリンクするのに行き詰まっています。
例:
レンダラーにコンポーネントを追加する行は、NullObjectExceptionで失敗します。私の考えは、それがクラス実装内にあるためです(オブジェクトがまだ定義されていない場合)が、そのようなことは次のコードで機能しました:
コードのその部分もTGSGameクラスの実装内にあります!
誰かがこの例外をどのように克服できるか考えていますか?