2017-02-03 27 views
-2
Dim policy_key() As RenewalClaim.PolicyKeyType 
policy_key(0).policyEffectiveDt = date_format_string(ld_EffectiveDate) 

Line2でエラーが発生しました。実行時にnull参照が発生する可能性があります。

エラーが発生しました - オブジェクト参照がオブジェクトのインスタンスに設定されていません。

+3

[の可能な複製を、Aは何ですかNullReferenceException、どうすれば修正できますか?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – Pikoh

答えて

0

オブジェクト配列の各要素も新しいオブジェクトとして宣言する必要があります。

Dim policy_key() As RenewalClaim.PolicyKeyType 
Redim policy_key(0) 
policy_Key(0) = new RenewalClaim.PolicyKeyType 
policy_key(0).policyEffectiveDt = date_format_string(ld_EffectiveDate) 

QUICK TIP:クラス構造などを宣言するとき、あなたが彼らが何であるかのタイプを参照することができますので、それらに名前を付けると便利です....

例えば構造など

あなたは..あなたがそうするためにあなた自身に感謝します年後に戻ってあなたのコードに来るためのクラス

str_Policy_Keyため cls_Policy_Key。

+0

ありがとう!!これはうまくいった。 – Mugdha

0
Dim policy_key() As RenewalClaim.PolicyKeyType 

は問題の一部です。 policy_key()を宣言するとき、実際には要素を持たない配列として宣言しています。あなたは、特にあなたが特定の要素番号にオブジェクトを追加する必要がない場合、例えば、配列を使用する必要がない場合は、リストを使用して、この

Dim policy_key As New List(Of RenewalClaim.PolicyKeyType) 

このようにそれを宣言する方がよいかもしれません方法、あなたは、アレイごとにサイズを変更することなく、簡単にアイテムを追加することができます - コードは、あなたのコードを拡張する際に少し長くトレバーの答えよりもですが、エラーが発生しにくい -

dim newPolicy_Key as RenewalClaim.PolicyKeyType 
newPolicy_Key.policyEffectiveDt = date_format_string(ld_EffectiveDate) 
policy_Key.add(newPolicyKey) 
+0

配列はwebサービスのリクエストパラメータの1つで、fill要素をそのまま渡す必要があります。だから、私はそれを配列として使う方法を提案してもらえますか? – Mugdha

関連する問題