asp.net 반사 코드 작성량 감소
public bool Add(Liuyan refmodel)
{
string sql = "insert into liuyan(name,phone,zhiwei,gongsi,addr,country,dianyou,content,adddate)values(@name,@phone,@zhiwei,@gongsi,@addr,@country,@dianyou,@content,@adddate)";
OleDbParameter[] parameters ={
new OleDbParameter("@name",OleDbType.VarChar),
new OleDbParameter("@tel",OleDbType.VarChar),
new OleDbParameter("@zhiwei",OleDbType.VarChar),
new OleDbParameter("@gongsi",OleDbType.VarChar),
new OleDbParameter("@addr",OleDbType.VarChar),
new OleDbParameter("@country",OleDbType.VarChar),
new OleDbParameter("@dianyou",OleDbType.VarChar),
new OleDbParameter("@content",OleDbType.VarChar),
new OleDbParameter("@adddate",OleDbType.VarChar)
};
parameters[0].Value=model.Xingming;
parameters[1].Value=model.Tel;
parameters[2].Value=model.Zhiwei;
parameters[3].Value=model.Gongsi;
parameters[4].Value=model.Addr;
parameters[5].Value=model.Country;
parameters[6].Value=model.Dianyou;
parameters[7].Value=model.Content;
parameters[8].Value=model.Adddate;
return sqlHelper.executeCommand(sql, parameters);
}
본고는 반사에 대해 말한다. 지금 이 코드의 어느 위치에서 반사를 사용하는지 본인의 인코딩 과정에서 힘을 아끼기 위해 기발한 생각을 한다.
parameters[0].Value=model.Xingming;
parameters[1].Value=model.Tel;
parameters[2].Value=model.Zhiwei;
parameters[3].Value=model.Gongsi;
parameters[4].Value=model.Addr;
parameters[5].Value=model.Country;
parameters[6].Value=model.Dianyou;
parameters[7].Value=model.Content;
parameters[8].Value=model.Adddate;
클래스에 많은 속성이 있을 때 위의 이 코드는 반사로 값을 부여할 수 있다
// using System.Reflection;
Type t = refmodel.GetType();
for (int i = 0; i < t.GetProperties().Length; i++)
{
parameters[i].Value= t.GetProperties()[i].GetValue(refmodel, null);
}
여기에 반사를 사용하여 클래스의 모든 속성을 가져옵니다
그리고 속성을 옮겨다니며 옮겨다니는 속성 값을 매개 변수에 부여합니다
물론 여기는 추가하는 방법입니다. 모델이 없습니다.Id
그래서 for가 순환할 때 1부터 시작해야 돼요.
그리고parameters[i].Value가 값을 부여할 때 i는 1parameters[i-1]를 줄여야 한다.Value
이렇게 해서 나중에 데이터 층을 쓸 때 매개 변수에 값을 매기면 굳이 하나하나 복사해서 붙일 필요가 없어요.
어떻게 개인적으로, 조심스럽게 여러분과 공유하고 싶은지.
코드 생성 도구를 사용하는 건 무시해도 돼요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.