2012-03-22 3 views
0

に単一のデータ列を渡します。そのデータ行にその列の値だけを渡す方法を理解できません。私はdatarow全体を渡すことができましたが、私はそれを避けたいと思いました。は、私はそうのようないくつかの検証を行う方法を、単一のデータ行列を渡したい方法

アイデアは一種のように、列参照と、おそらくタイプの説明を渡すことです:

SomeMethod(dataRowColRef, "ThisColShouldBeAnInt"); 

それはint型、文字列のかどうかに基づいて値を検証し、何でもして戻ってくるいくつかの方法」プログラムの残りの部分を幸せにする "良い"価値があります。

思考?

+0

コレクションを渡すことはできませんでしたか?リスト、IEnumerableまたはその他 – squelos

+3

'SomeMethod(myDataRow [" Col_Name "])'は動作しません。なぜなら 'SomeMethod(object colValue)'のような署名を仮定していますか? – billinkc

+0

これは少し奇妙です。なぜあなたはあなたのデータベースの列のデータ型を検証していますか?データベース構造を支配していないのですか?通常、実行前に列のデータ型が推論されます。それ以外の場合は、パフォーマンスが低下します。 – Diego

答えて

0

あなたはすなわち、オブジェクトからあなたはメソッドに渡す前に、それが何であれに値をキャストする必要があります。:

SomeMethod((int)myDataRow["Col_Name"]) 

それは物事を複雑にその値を変更する必要がある場合。新しい値を返して、必要なものがあればもう一度設定するほうがよいでしょう。つまり、

myDataRow["Col_Name"] = fixField((int)myDataRow["Col_Name"]) 
関連する問題