現時点では、DataRowインスタンスを反復処理するときにこれを行います。
foreach(DataRow row in table)
return yield new Thingy { Name = row["hazaa"] };
遅かれ早かれ(つまり、すぐに)、テーブルにロバの列がなくなり、うんちがファンに当たるようになります。大規模なグーグル検索 (約 30 秒) の後、次の保護構文を発見しました。
foreach(DataRow row in table)
if(row.Table.Columns.Contains("donkey"))
return yield new Thingy { Name = row["hazaa"] };
else
return null;
さて、これは最も単純な構文ですか?! 本当に?フィールドが存在する場合はフィールドを取得し、それ以外の場合はnullを取得するメソッドを期待していました。または、少なくとも、直接行に含まれるメソッド。
何か不足していますか?そのように多くのフィールドをマッピングするので、コードはひどく読めなくなります...