나는 반사의 사용을 자제하도록 권고 받았다. 나는 진짜로 알고 싶었다. 반사 때문이다 비싼? 그렇지 않은 경우 사용하지 않는 이유는 무엇입니까?System.Reflection이 클래스 멤버 데이터/정보에 액세스하는 방식은 무엇입니까?
나의 현재 및 미래의 프로젝트는 주어진 클래스 - 회원 정보에 액세스해야 할 수도 있습니다. 필자는 때때로 필드를 열거해야합니다. & 속성 - 값 또는 선언 이름.
그래서 내가 알고 싶은 무엇이다 :
어떻게 반영 작동합니까? 정보에 어떻게 도달합니까? (간단한 설명을 할 것입니다)
왜 응용 프로그램에서 리플렉션을 사용하지 않는 것이 좋습니다? 필요한 정보를 필드 또는 속성 값 또는 이름으로 가져와야 할 경우 System.Reflection을 사용하여 이 아닌을 사용할 수 있습니까?
일부 배경.
현재 프로젝트에서 (예를 들어) 특정 SQL Server 테이블 열 이름 또는 SQL 테이블 이름을 나열하는 것입니다.
다른 방법으로 생각하면 List<strings>
으로 반환 될 수 있습니다. 정말 알았다면
이유 또는 방법 "나쁜"이입니다 reflection
를 사용하는, 내가 정말 피하고 싶은 경우에 나는 대안을 찾을 수 있습니다로 .. 난 후, 결정을 내릴 수
접근 (이 특정 시나리오에서).
필자가 테이블 이름 목록을 필요로하거나 (데이터를 액세스 할 때) 데이터베이스에 액세스하여 (필자는) 바람직하지 않습니다. 필자가 피해야 할 경우 텍스트 파일이나 XML에 저장하십시오. 반사.
나는 좀 더 우아한 것을 알고있다. 그것은 비록 문제가 아니에요. 이 질문은 폐쇄되었다
을 다시 도와주세요
갱신 (다시 다른 많은 사용 사례가있을 수 있기 때문에 단지 예입니다, 당신은 아마. 알고), 투표는
아래 '다시' 감사 .
리플렉션을 사용하여 SQL 열 목록을 얻는 방법은 무엇입니까? 왜 'select * from INFORMATION_SCHEMA.COLUMNS'입니까? – Blorgbeard
@Blorgbeard. 내가 quetion을 만들어으로, 내 게시물의 끝이 끝까지 읽어 참조하십시오, 당신이 더 잘 이해 할 수 자체 BOLD @Blorgbeard 어떻게 당신이 내가 그것을 열 정체성 1 위의 클래스로 할 수있는 모든 테이블을 갖는했던 생각 했 – LoneXcoder
? 또는 성능 튜닝으로 필요할 때마다 데이터베이스를 방문하라는 제안을 했습니까? – LoneXcoder