가 classA
가, B는 C가 D는 E .. 내가 구축 private 필드 A를 싶어했다 말할 개인 그래서 StringToProperty("A")
반환 A.스위치를 사용하지 않고 개체 내부의 문자열로 개인 필드 값을 가져 오는 방법은 무엇입니까?
1
A
답변
3
먼저 classA
내부 방법 StringToProperty
(내가 공개? 할 수 없어 보라) 그것이 공개적인 방법 일 수 있는지 확인하십시오. 메소드가 비공개 인 메소드를 호출 할 수 있기 때문에 메소드를 공개 할 수 없다고 예상하면 정확하지 않습니다. 공용 메서드/속성을 제어 된 창으로 간주하여 기본 개인 멤버를 생각하십시오.
속성을 검색하려면 사용 리플렉션을 사용할 수 있습니다. 추가 정보를 원하시면 여기를
public string StringToProperty(string fieldName)
{
Type myType = this.GetType();
FieldInfo field = myType.GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Instance);
return Convert.ToString(field.GetValue(this));
}
봐 : 그것을 할,하지만 난 그 반사 당신이로드하고 얼마나 자주하는 내용에 따라 성능 저하를 초래할 수있다 경고한다 http://msdn.microsoft.com/en-us/library/system.reflection.fieldinfo.getvalue.aspx
. FieldInfo 데이터의 일종의 캐싱을 수행해야 할 수도 있기 때문에 필요에 따라 충분히 수행되는지 확인하십시오.
관련 문제
- 1. PHP에서 필드 값을 가져 오는 방법은 무엇입니까?
- 2. 양식의 필드 개체 모음을 가져 오는 방법은 무엇입니까?
- 3. 클래스에서 개인 정적 필드의 값을 가져 오는 방법은 무엇입니까?
- 4. ~/.gpg에서 로컬 저장소를 사용하지 않고 gpg에서 개인 키로 공개 키를 가져 오는 방법은 무엇입니까?
- 5. 컨트롤러에서 숨겨진 필드 값을 가져 오는 방법은 무엇입니까?
- 6. sqlite 데이터베이스에서 데이터베이스 필드 값을 가져 오는 방법은 무엇입니까?
- 7. 붙여 넣기 이벤트 중에 필드 값을 가져 오는 방법은 무엇입니까?
- 8. 개체 속성의 기본값을 가져 오는 방법은 무엇입니까?
- 9. DataGrid를 사용하지 않고 DataColumn 객체에서 특정 행이나 셀 값을 가져 오는 방법은 무엇입니까?
- 10. 어셈블리를로드하지 않고 버전을 가져 오는 방법은 무엇입니까?
- 11. ASP.net에서 페이지 출력을 문자열로 가져 오는 방법
- 12. phpmyadmin으로 가져 오는 동안 Null 값을 설정하는 방법은 무엇입니까?
- 13. 열에서 고유 값을 가져 오는 방법은 무엇입니까?
- 14. app.config에서이 구성 값을 가져 오는 방법은 무엇입니까?
- 15. Datagrid보기 셀 값을 가져 오는 방법은 무엇입니까?
- 16. 이 상위 값을 가져 오는 방법은 무엇입니까?
- 17. 자바 스크립트로 값을 가져 오는 방법은 무엇입니까?
- 18. 체크 박스에서 값을 가져 오는 방법은 무엇입니까?
- 19. 이 값을 CGFloat로 가져 오는 방법은 무엇입니까?
- 20. 아이폰의 nsdictionary에서 값을 가져 오는 방법은 무엇입니까?
- 21. UItextView의 문자열 값을 가져 오는 방법은 무엇입니까?
- 22. 대괄호 내에서 값을 가져 오는 방법은 무엇입니까?
- 23. NSTextField 내부에서 값을 가져 오는 방법은 무엇입니까?
- 24. json 출력에서 값을 가져 오는 방법은 무엇입니까?
- 25. 테이블 열 값을 가져 오는 방법은 무엇입니까?
- 26. JSP의 테이블에서 값을 가져 오는 방법은 무엇입니까?
- 27. ViewModel에서보기에서 동적 값을 가져 오는 방법은 무엇입니까?
- 28. span 태그의 값을 가져 오는 방법은 무엇입니까?
- 29. ModalPopupExtender에서 컨트롤의 값을 가져 오는 방법은 무엇입니까?
- 30. MySQL 쿼리로 값을 가져 오는 방법은 무엇입니까?
Reflection을 통해이 작업을 수행 할 수는 있지만 클래스 외부의 사람은 실제로 지식이 없어도 내부 필드가 무엇인지 알 수 없어야합니다. –