DataRowオブジェクトからオブジェクトを作成したいのですが、これはDatarowオブジェクトをトラバースすることで行うことができます。ここでは制約はDataRow列は固定されていません。 DataRowが持つことができる列の数にばらつきがある可能性があります。私はすべての列がdatarowにあるかわからないので、ColumnNameに従ってDataRowをトラバースできません。例えばDatarowからオブジェクトを作成する
私は、DataRowオブジェクトは、すべての3つの列がある場合、これは正常に動作しますクラスに
class Abc
{
string attrib1;
string attrib2;
string attrib2;
public Abc(DataRow dr)
{
attrib1 = dr["attrib1"].ToString();
attrib2 = dr["attrib2"].ToString();
attrib3 = dr["attrib3"].ToString();
}
}
を持っています。 それ以外の場合は例外を投げる
私を助けてください。
は、私はそれが正常に動作しているものの
class Abc
{
string attrib1;
string attrib2;
string attrib2;
public Abc(DataRow dr)
{
foreach (System.Data.DataColumn dc in record.Columns)
{
switch (dc.ColumnName)
{
case "attrib1" :
attrib1 = dr["attrib1"].ToString();
break;
case "attrib2" :
attrib2 = dr["attrib2"].ToString();
break;
case "attrib2" :
attrib3 = dr["attrib3"].ToString();
break;
}
}
}
}
を次のようにコンストラクタでスイッチケースを使用してみましたが、私はこのアプローチは罰金であるかどうかを知りたいです。
私はスイッチケースは、しかし、それはdefault
ラベルを追加し、そこに例外をスローすることをお勧めします、OKだと思うあなたに
のこのラインを持つオブジェクトの配列は、あなたのためにあなたに感謝して、あなたは、単にのDataRowを取得することができますスイッチケースを使用すると本当に良い答えです – KB5
あなたは大歓迎です。 – nnhthuan