ホームページ >バックエンド開発 >C#.Net チュートリアル >初心者もベテランも同様に避けられない問題 - オブジェクト参照をオブジェクトのインスタンスに設定しない

初心者もベテランも同様に避けられない問題 - オブジェクト参照をオブジェクトのインスタンスに設定しない

黄舟
黄舟オリジナル
2017-02-23 10:09:042885ブラウズ

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」 コードを書いたことがある人であれば、スキル レベルに関係なく、この問題に遭遇すると思います。この文は、オブジェクトを参照する前に初期化を行っていないことを意味します。これは通常、参照するオブジェクトが空の場合に発生します。この問題は、パラメーターを渡すときによく発生します。このとき、呼び出すパラメーターが空かどうかを考慮する必要があります。

以下は私自身が遭遇した問題です:

3層アーキテクチャでレイヤーBがインターフェイスを呼び出すときに問題が発生しました。それは、呼び出されたインターフェイスがそうでないためであると分析しました。抽象ファクトリーを介してインターフェイスを作成したため、Create が正常に呼び出されました。エラー箇所は以下のとおりです。

コード内のクラス名が実際のクラス名と異なります。 ここで不注意ですが、コード内に 1 が余分にあります。間違いです。この間違った原則を理解する必要があります。今回はクラス名が異なるだけかもしれませんが、次回は同じではない可能性があります。インターネットで見つけたこのエラーのその他の考えられる理由が参考になれば幸いです。

1. ViewState オブジェクトは Null です。

2. DateSet が空です。

3. SQL ステートメントまたはデータベースにより DataReader が空です。

4. 文字列変数を宣言する場合は、null 値を代入せずに変数を適用します。

5. オブジェクトは new で初期化されません。

6. Session オブジェクトは空です。

7. コントロールにテキスト値を割り当てるときに、値が存在しません。

8. Request.QueryString()使用時、取得したオブジェクトが存在しないか、値が空の場合は初期値が代入されません。

9. FindControl を使用すると、コントロールは存在しませんが、前処理は行われません。

10. 定義が重複すると、オブジェクト参照がオブジェクトのインスタンスに設定されていないというエラーが発生します。

上記は、新人もベテランも避けられない問題です。オブジェクト参照をオブジェクトのインスタンスに設定しないことです。関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.ん)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。