該当の要素が is not null かちゃんと確認しているか?の警告
// null の可能性があるアクセス ※oJson モデルに Str 要素があるとする
var vStr = oJson.Str; // CS8602 が出る
// 回避するには下記の通りとなる
var vStr;
if (oJson is not null){
vStr = oJson.Str;
}
ただ Json モデルの場合、階層が深くなると 階層ごとに is not null のチェックが必要となる
if 文が冗長的になってくるが、そこはやむを得ない
// ※別記事のモデル例 / https://extrose.stoicsounds.jp/blog/?p=4345
if ((oJson is not null) && (oJson.Texts is not null)){
foreach(childTexts oJsonLine in oJson.Texts){
fListData.Add(oJsonLine);
}
}
is not null を随時検知する方法がわかりやすいが、
そもそも、その要素自体が is null であった場合に処理を中断させる、としても 後続の警告は解除できる
if (oJson is null){
return;
}
var vStr = oJson.Str; // CS8602 は解除される
なお この警告は VSCode の Extensions「C#」では正しく検知できないらしく、
dotnet build などコンパイラを通すことで発覚する場合もある
その場合も警告線は引かれない