버그 해결을 위한 모든 질문을 던져
0 votes
141 views

 public class A
    {
        public int r = 1;
        virtual public int R { get { return r; } set {r = value;} }
    }

    public class B : A
    {
        override public int R { get { return r + 10; } set { r = value; } }
    }

    public class C : B
    {
        override public int R { get { return r + 100; } }
    }

위 상황에서 

var p = typeof(C).GetProperty("R", BindingFlags.FlattenHierarchy | BindingFlags.Instance | System.Reflection.BindingFlags.Public);

하면 C 클래스에서 override 한 프로퍼티는 set 이 없기 때문에 set 을 할수가 없는데요

 

범용적으로 리플렉션으로 오브젝트에 값을 세팅해 주는 코드인지라 저런 클래스에서도 set 프로퍼티를 얻어어고 싶은데

방법이 있을까요?

asked (25 point) , 141 views
상속받은 프로퍼티에서 set을 제거했다는 것은 set을 일부러 막은 거라고 봐야 하지 않나요?

그런 경우에도 강제로 값을 세팅을 하고 싶다는 건.. 뭔가 이상하네요

질문에 대한 답변을 하려면 로그인 또는 가입해야합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

507 질문
654 answers
643 댓글
118,130 users