반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- EntityFramework
- 제로초
- 객체의비교
- 자바스크립트파라미터
- 객체리터럴
- c#
- 인프런강좌
- 자바스크립트객체리터럴
- 인프런
- 고차함수
- 인프런자바스크립트
- 비주얼스튜디오
- slice
- 자바스크립트틱택토
- HTTP
- 자바스크립트함수
- 틱택토구현
- 자바스크립트
- 콜백함수
- 이벤트리스너
- 인터넷프로토콜
- 코딩
- 인프런강의
- 자바스크립트recude
- NPM
- 인프런인강
- .NET
- Blazor
- 인프런무료강좌
- sort
Archives
- Today
- Total
샐님은 개발중
Reflection 본문
728x90
반응형
Reflection : 동적으로 형식 인스턴스 생성 , 기존 개체의 메서드, 필드 및 속성에 엑세서 가능
1. 하고 싶은 것 : 동적으로 특정 컬럼(db에 저장했다가 데이터 끌어옴) 에 데이터를 셋팅
2. 알아야 할것 :
1) 먼저 객체의 field에 접근할 수 있어야한다.
2) 해당 필드와 db에 저장한 필드 명이 같으면 원하는 값을 셋팅한다.
1. Class의 필드 정보 추출
// TestModel class 에 Property를 모두 가져온다.
PropertyInfo[] pArr = typeof(TestModel).GetProperties();
TestModel testobject = new TestModel();
foreach (var pInfo in pArr)
{
// Property의 타입, 이름 값 확인
<div>@pInfo.Name</div>
<div>@pInfo.PropertyType</div>
<div>@pInfo.GetValue(testobject)</div>
}
}
<결과>
2. 객체의 값 변경
foreach (var pInfo in pArr)
{
// 필드의 값 변경해주기
if (pInfo.Name.Equals("NewName"))
{
pInfo.SetValue(testobject, "새이름");
}
<div>@testobject.NewName</div>
}
<결과>
3. 동적으로 특정 필드에 특정 값을 셋팅
for(var i=0; i<pArr.Length; i++)
{
pArr[i].SetValue(testobject, "동적할당");
<div>@pArr[i].Name</div>
<div>@pArr[i].GetValue(testobject)</div>
}
<결과>
728x90
반응형
'C#' 카테고리의 다른 글
Tree 구조 데이터 바인딩 (0) | 2024.12.04 |
---|---|
ASP.NET CORE JWT Clean Architecture (1) | 2024.07.10 |
ExpandoObject() 동적 객체 생성 (0) | 2024.06.28 |
PropertyInfo.SetValue 메소드 (0) | 2024.04.29 |
컴파일러 오류 CS0176 (0) | 2024.04.01 |