この問題は参照型に関連していると思いますが、これらの理解が不足しています...
したがって、ASP.Net テーブルを動的に作成しました (データベースの種類ではなく、Web.UI.WebControls.Table のように) これらには、テキストを含む 1 つのセルを含む 1 つの行から、ネストされた一連のテーブルとコントロール全体まで、状況に応じて何でも含めることができます。クライアント。
各 TableRow をループする必要があります。特定の条件が満たされた場合、その行を 2 番目の Table オブジェクトにコピーします。コードの簡略化されたビットを次に示します。
Table xTblComplete = (passed in as parameter) // original & complete table
Table xTblTemp = new Table(); // gets built dynamically with specific rows
foreach (TableRow xThisRow in xTblComplete.Rows)
{
if (xThisRow.Cells.Count > 0)
{
if (certain condition met)
{
xTblTemp.Rows.Add(xThisRow);
}
}
}
私が動けなくなったのは、TableRow を Table2 に追加しようとすると、foreach (table.rows の行) がエラーをスローすることです。「コレクションが変更されました。列挙操作が実行されない可能性があります。」というエラーが表示されます。追加するテーブル行の COPY を作成する必要があるという点で、これは理にかなっています。
これがどのように行われるかについて誰かアドバイスできますか?MSDN とフォーラムで一般的な参照型のコピーをスキャンしましたが、それらはすべて ICloneable の使用を指しているように見えますが、これは私のクラスではないため、実行できないと思います。
これが私が見逃している小さくて基本的なものであることを願っています、前もって感謝します。