C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

IListの追加でNullReferenceExceptio /ジェネリック医薬品 (20/10/11(Sun) 12:49) #95937
Re[1]: IListの追加でNullReferenceExceptio /魔界の仮面弁士 (20/10/11(Sun) 13:14) #95938
│└ Re[2]: IListの追加でNullReferenceExceptio /ジェネリック医薬品 (20/10/11(Sun) 13:15) #95939
│  └ Re[3]: IListの追加でNullReferenceExceptio /ジェネリック医薬品 (20/10/11(Sun) 13:22) #95940 解決済み
Re[1]: IListの追加でNullReferenceExceptio /WebSurfer (20/10/11(Sun) 14:53) #95941
  └ Re[2]: IListの追加でNullReferenceExceptio /WebSurfer (20/10/11(Sun) 14:54) #95942 解決済み


親記事 / ▼[ 95938 ] ▼[ 95941 ]
■95937 / 親階層)  IListの追加でNullReferenceExceptio
□投稿者/ ジェネリック医薬品 (1回)-(2020/10/11(Sun) 12:49:09)

分類:[.NET 全般] 

どなたか教えてください

以下の 「Startup」 の 「wk.XX.Add(wwkk);」の行 で
「System.NullReferenceException: 'Object reference not set to an instance of an object.'
 TESTPro.Startup.xGTO.XX.get が null を返しました。」
が発生してしまいます。( xGTOをnewしている 変数 wk の XCDの値は「1」、XXの値は「null」でした。)
wk の XXのIListに 値を設定できる方法を教えてください。

public class xGTO
{
public string XCD { get; set; }
public IList<xxGTO> XX { get; set; }
}

public class xxGTO
{
public string XXCD { get; set; }
}

public void Start()
{

xGTO wk = new xGTO();
wk.XCD = "1";

xxGTO wwkk = new xxGTO();
wwkk.XXCD = "2";
wk.XX.Add(wwkk);
}


[ □ Tree ] 返信 編集キー/

▲[ 95937 ] / ▼[ 95939 ]
■95938 / 1階層)  Re[1]: IListの追加でNullReferenceExceptio
□投稿者/ 魔界の仮面弁士 (2868回)-(2020/10/11(Sun) 13:14:31)
No95937 (ジェネリック医薬品 さん) に返信
> が発生してしまいます。( xGTOをnewしている 変数 wk の XCDの値は「1」、XXの値は「null」でした。)
> wk の XXのIListに 値を設定できる方法を教えてください。

IList<> インターフェイスに渡すインスタンスは何でも良いのでしょうか?
List<> インスタンスで構わなければ、下記のように書けます。

public void Start()
{
 xGTO wk = new xGTO { XCD = "1", XX = new List<xxGTO> { new xxGTO { XXCD = "2" } } };
}



void Start() 内の呼び出し方を変更したくない場合には、
xGTO クラスの宣言を見直した方が良いでしょう。
そもそも XX は読み書き可能にする必要がなく、readonly プロパティで十分に思えます。

public class xGTO
{
  public string XCD { get; set; }
  public IList<xxGTO> XX { get; } = new List<xxGTO>();
}
[ 親 95937 / □ Tree ] 返信 編集キー/

▲[ 95938 ] / ▼[ 95940 ]
■95939 / 2階層)  Re[2]: IListの追加でNullReferenceExceptio
□投稿者/ ジェネリック医薬品 (2回)-(2020/10/11(Sun) 13:15:52)
ありがとうございます。
やってみます。
[ 親 95937 / □ Tree ] 返信 編集キー/

▲[ 95939 ] / 返信無し
■95940 / 3階層)  Re[3]: IListの追加でNullReferenceExceptio
□投稿者/ ジェネリック医薬品 (3回)-(2020/10/11(Sun) 13:22:59)
ありがとうございます 解決しました。
解決済み
[ 親 95937 / □ Tree ] 返信 編集キー/

▲[ 95937 ] / ▼[ 95942 ]
■95941 / 1階層)  Re[1]: IListの追加でNullReferenceExceptio
□投稿者/ WebSurfer (2114回)-(2020/10/11(Sun) 14:53:51)
マルチポストのようなので他の投稿先の URL を張っておきます。

https://teratail.com/questions/297270
[ 親 95937 / □ Tree ] 返信 編集キー/

▲[ 95941 ] / 返信無し
■95942 / 2階層)  Re[2]: IListの追加でNullReferenceExceptio
□投稿者/ WebSurfer (2115回)-(2020/10/11(Sun) 14:54:46)
解決済みマーク
解決済み
[ 親 95937 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -