내 프로젝트의 코드베이스에는 유닛 테스트 메소드를 생성하고자하는 매개 변수로 DataRow를 사용하는 레거시 메소드가 있습니다.어떻게 수동으로/프로그래밍 방식으로 DataRow를 만들 수 있습니까?
메서드에 전달할 DataRow 개체를 수동으로 어떻게 만들 수 있습니까? System.Data.DataRow
클래스에는 공용 생성자가 없습니다.
내 프로젝트의 코드베이스에는 유닛 테스트 메소드를 생성하고자하는 매개 변수로 DataRow를 사용하는 레거시 메소드가 있습니다.어떻게 수동으로/프로그래밍 방식으로 DataRow를 만들 수 있습니까?
메서드에 전달할 DataRow 개체를 수동으로 어떻게 만들 수 있습니까? System.Data.DataRow
클래스에는 공용 생성자가 없습니다.
DataRow는 새 DataTable 인스턴스를 만들고 DataRow에 필요한 "키"에 해당하는 DataTable에 열을 추가 한 다음 DataTable에서 NewRow()
을 호출하여 만들 수 있습니다. 예를 들면 :
DataTable usersTable = new DataTable();
usersTable.Columns.Add("FirstName");
usersTable.Columns.Add("LastName");
usersTable.Columns.Add("Email");
DataRow userRow = usersTable.NewRow();
userRow["FirstName"] = "Elmer";
userRow["LastName"] = "Example";
userRow["Email"] = "[email protected]";
DataTable
의
DataColumnCollection
(열)에 형 제약 조건을 적용하기 위해 필요한 경우 있음을 유의
- 당신이 예상 Type
을 포함하도록 DataColumn
클래스의 오버로드 된 생성자를 사용할 수 있습니다.
var dt = new DataTable();
var dc = new DataColumn("Age", typeof(int));
dt.Columns.Add(dc);
var dr = dt.NewRow();
dr["Age"] = "test"; // throws an ArgumentException
//Input string was not in a correct format. Couldn't store<test> in Age Column. Expected type is Int32.
나는 고마워! :-) –