2012-03-22 4 views
0

에 하나의 데이터 열을 전달합니다나는과 같이 몇 가지 유효성 검사를 수행하는 방법에 단일 데이터 행 열을 전달하려는 방법

SomeMethod(myDataRow["Col_Name"]) 

내가 몇 가지 검사를하고 값을 반환하고자합니다. 해당 데이터 행에 대해 해당 열 값을 전달하는 방법을 파악할 수 없습니다. 나는 전체 datarow를 통과 할 수 있었지만 그것을 피하고 싶었다.

아이디어는 일종의처럼 열 참조 가능성이 유형의 설명을 전달하는 것입니다 :

SomeMethod(dataRowColRef, "ThisColShouldBeAnInt"); 

는 IT가 INT, 문자열의 여부에 따라 값을 확인, 어떤 및 반환 몇 가지 방법은 " 좋은 "가치를 제공하여 나머지 프로그램을 행복하게 만듭니다.

생각하십니까?

+0

컬렉션을 전달할 수 없었습니까? 목록, IEnumerable 또는 기타? – squelos

+3

'SomeMethod (myDataRow [ "Col_Name"])'가 작동하지 않습니다. 왜 SomeMethod (object colValue)와 같은 서명을 가정합니까? – billinkc

+0

조금 이상합니다. 왜 데이터베이스에있는 컬럼의 데이터 유형을 검증하고 있습니까? 데이터베이스 구조를 제어 할 수 없습니까? 일] 적으로, C 럼의 데이터 유형은 런타임 전에 유추됩니다. 그렇지 않으면 성능이 저하됩니다. – Diego

답변

0

당신은 당신이 : 즉, 방법으로 전달하기 전에 무엇이든에 객체의 값을 캐스팅해야

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

그것은 일을 복잡하게 그 값을 수정해야하는 경우

; 새로운 값을 반환하고 다시 설정하는 것이 좋습니다. 즉,

myDataRow["Col_Name"] = fixField((int)myDataRow["Col_Name"]) 
관련 문제