C #은 익명 오브젝트 초기화에 대한 읽기 전용 속성을 어떻게 설정합니까?

StackOverflow https://stackoverflow.com//questions/10650045

문제

C #에서 객체 초기화 프로그램은 공용 비 읽기 전용 필드와 속성을 설정할 수 있습니다.

그러나 익명 유형을 사용하면 속성이 읽기 전용입니다.그렇다면 .NET은 개체 초기화에 어떻게 설정합니까?

도움이 되었습니까?

해결책

익명 유형의 객체 이니셜 라이저는 일반 객체 이니셜 라이저처럼 작동하지 않습니다.I.E.E. 특성을 직접 설정하지 않습니다.읽기 전용 필드를 변경할 수있는 생성자의 호출로 번역됩니다.

다른 팁

모든 읽기 전용 속성처럼 생성자에서 설정할 수 있습니다.

익명 형식의 생성자는 그와 함께 생성되고 필드가이를 통해 설정됩니다.

또한 리플렉션을 통해 또는 생성 후 관리 코드 패치를 통해 설정할 수 있습니다.

e.g.바인딩 플래그로 필드를 적절하게 가져온 다음 올바른 매개 변수로 설정하고 setValue를 호출하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top