問題タブ [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.
c# - LINQ-アソシエーションマッピング-InsertOnSubmitのnull参照
データベース内のテーブルUserと1-manyの関係で関連付けられたテーブルRoleがあります。LINQマッピングクラスを手動で作成しました。
問題は、EntitySetユーザーをnull許容にできないことです。そのため、後で新しいロールを作成したい場合は、次のようにします。
以下のエラーメッセージが表示されます。
オブジェクト参照がオブジェクト インスタンスに設定されていません。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
ソースエラー:
36行目:else 37行目:{38行目:
rolesTable.InsertOnSubmit(role); ins = true; 39行目:} 40行目:ソースファイル:C:\ inetpub \ sklepomat \ DomainModel \ Concrete \ SqlRolesRepository.cs
行:38
スタックトレース:
[NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。]
System.Data.Linq.Mapping.EntitySetDefSourceAccessor 2.GetBoxedValue(Object instance)+44 System.Data.Linq.StandardTrackedObject.HasDeferredLoader(MetaDataMember deferredMember)+90 システム。 Data.Linq.StandardTrackedObject.get_HasDeferredLoaders()+102 System.Data.Linq.StandardChangeTracker.Track(MetaType mt、Object obj、Dictionary 1.InsertOnSubmit(TEntity entity)+172 DomainModel.Concrete.SqlRolesRepository.SaveRole(Role role)in C :\ inetpub \ sklepomat \ DomainModel \ Concrete \ SqlRolesRepository.cs:382.GetValue(T instance) +15
System.Data.Linq.Mapping.MetaAccessor2 visited, Boolean recurse, Int32 level) +187
System.Data.Linq.StandardChangeTracker.Track(Object obj, Boolean recurse) +80 System.Data.Linq.StandardChangeTracker.Track(Object obj) +9 System.Data.Linq.Table
DomainModel.Concrete.SklepomatRoleProvider.CreateRole(String roleName)in C:\ inetpub \ sklepomat \ DomainModel \ Concrete \ SklepomatRoleProvider.cs:71 System.Web.Security.Roles.CreateRole(String roleName)
+73 WebUI.Controllers.TempController.ble ()in C:\ inetpub \ sklepomat \ WebUI \ Controllers \ TempController.cs:29
lambda_method(ExecutionScope、ControllerBase、Object [])+74
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller、Object [] parameters)+ 17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext、IDictionary 2 parameters)+242 parameters) +178
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
System.Web.Mvc。<>c__DisplayClassa.b__7()+52 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter、ActionExecutingContext preContext、Func 1 filter、ActionDescriptor actionDescriptor、IDictionary`2 parameters)+192 System.Web.Mvc .ControllerActionInvoker.InvokeAction(ControllerContext controllerContext、String actionName)+399 System.Web.Mvc.Controller.ExecuteCore()+126 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)+27 System.Web.Mvc.ControllerBase.System .Web.Mvc.IController.Execute(RequestContext requestContext)+7 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext)+151 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext)+571 continuation) +254
System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext)+7
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step 、ブール値&completedSynchronously)+75
私はそれがEntitySet<User> _Users
等しいからnull
だと思います...私は正しいですか!?null許容型でできない場合は、何を割り当てる必要があり_Users
ますか?
アップデート:
例外が発生します
ロールオブジェクトのフィールドが設定されている場所:
c# - Base64逆シリアル化中のnull参照例外(C#)
次のメソッドを使用して、.NETオブジェクトをシリアル化および逆シリアル化します。
これらのメソッドは、[Serializable]属性でマークされた単純なクラスを操作するときに正常に機能するようです。
ただし、このコードを使用して、ORMフレームワークによって作成されたエンティティクラス(Serializableとしても作成)をシリアル化する必要があります。これにより、各エンティティクラスは、ソースコードがない基本クラスから派生します。
エンティティクラスのインスタンスを操作する場合、例外なしでシリアル化を完了しますが、formatter.Deserialize()を実行すると、逆シリアル化は常にnull参照例外をスローします。
私はシリアル化のプロセスにあまり精通していませんが、この問題はターゲットオブジェクトの状態の異常が原因であると考えられます。シリアル化の前にオブジェクトが満たさなければならない標準の基準セットはありますか?
他のデバッグの提案をいただければ幸いです。
ありがとう、ティム
アップデート:
さらに実験を重ねた結果、問題の原因を発見したと思います。この投稿で説明されているように、ターゲットオブジェクトには、シリアル化可能としてマークされていない別のクラスによって処理されるイベントがあります。
興味深いのは、イベントハンドラーが接続されていても、シリアル化が正しく機能することです。逆シリアル化が失敗します。
ただし、イベントハンドラーを一時的に削除してテストしたところ、シリアル化と逆シリアル化の両方が正しく機能するため、これが問題であると思います。ただし、イベントが宣言されているコードにアクセスできないため、上記のソリューションを実装する方法をすぐに理解することはできません。シリアル化プロセスを変更して、イベントハンドラーを削除してから復元する必要がある場合があります。
c# - Nullref Exc. インテリセンスによって検出されたラベルについて?
さて、私はASP.NETとMasterPageの概念にまったく慣れていないので、理解できないエラーがあります.
これは私の default.aspx の一部です:
これは、default.aspx.cs の関連部分です。
MemberCreditLabel で Nullref 例外が発生します。IntelliSense で検出されます。問題は、ContentPlaceHolder「ContentLoginContent」がログイン時にのみ表示されることである可能性があると思います。これは私のMasterPageの一部です:
私がやりたいことは、データベースに保存されているクレジット額を表示することです。必要なデータを取得する機能は機能します。現在ログインしているユーザーのユーザー名を取得し、そのユーザーに関連付けられているクレジット額を取得したいと考えています。しかし、ラベルのこの奇妙なエラーは、私を完全に停止させます..おそらく、まだ遭遇していないMasterPagesの概念と関係があります. 何か案は?
c# - LINQtoSQLでInsertOnSubmitを実行するときのNullReferenceException
私のデータベースには、StaffMembersというテーブルがあります
linq-to-sqlを使用してこれを.netプロジェクトに取り込むと、エンティティクラスStaffMemberが作成されます。
これで、プロジェクトに部分クラスStaffMemberも作成して、他の最上位レイヤーで使用するプロパティを追加しました。例えば。IsDeletedプロパティ。この部分クラスは、他のいくつかのプロパティも確実に実装されるように、抽象クラスとインターフェースも継承します。
「StaffMember」の新しいインスタンスを作成すると
例えば。StaffMember newStaff = new StaffMember(); そしてそれにすべてのプロパティなどを与えます
次に、マネージャーを介してコンテキストでInsertOnSubmitを呼び出します。
「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生します。
on context.StaffMembers.InsertOnSubmit(newStaff);
スタックは言う
なぜこれが起こっているのか、そしてそれを回避する方法は何かという考え。
ありがとう
c# - オブジェクト参照がオブジェクト インスタンスに設定されていません
クラスCellがあります:
次に、次のクラスで使用しようとします。
オブジェクト参照がオブジェクトのインスタンスに設定されていないことになります(上記のコードの ///// の間..
Cell の単一インスタンスを作成しようとしましたが、正常に動作します。
c# - 複数のページの ItextSharp ネストされたテーブルが NullReferenceException を引き起こす
次のコードを実行すると、NullReferenceException が発生します。また、メイン テーブルにセルを書き込むコードを追加すると、ネストされたテーブルが新しいページに表示されることにも気付きました。セルをメイン テーブルに書き込む 2 つのループを削除しても発生しません。
c# - String.Format引数のNullは、引数が結果の文字列にない場合でもNullReferenceExceptionをスローします
null
引数の 1 つにあるのでString.Format()
、 throws を呼び出しますNullReferenceException
。結果の文字列に引数がなくてもチェックが行われるのはなぜですか?
で区切られた 2 つの呼び出し以外の回避策はありますif()
か?
c# - nullチェックを強制するにはどうすればよいですか?
私は大規模なプロジェクトに取り組んでおり、数十の数千の自動テストと100%のコードカバレッジがあっても、途方もない数のエラーが発生しています。発生するエラーの約95%はNullReferenceExceptionsです。
コンパイル時にヌルチェックを強制する方法はありますか?
それを除けば、自分でnullケースのテストを作成しなくても、単体テストでnullチェックを自動的に強制する方法はありますか?
.net - GData.Extensions.Reminder を Reminders に追加するときの Nullreferenceexception
私は使用しています
真新しいエントリ (リマインダーとリマインダーは何もありません) で、上記のコード (Google ドキュメントから直接取得) を使用してリマインダーを追加したり、entry.Reminder を直接 fifteenMinReminder に設定したりすることはできません。
私は何を間違っていますか?エントリーに「いつ」と「どこで」を追加しても問題はありませんでしたが、リマインダーは同じパターンに従いたくないのです。
何か案は?