기류 사유 변수의 반사

1186 단어
자료를 찾아보니 기본 클래스의 사유 변수가 반사되는 것을 발견했고 관건은 BaseType 속성에 있었다.이전의 문제는 기류가 다른 프로그램에 집중되고 프로그램집만 공개되는 것이었다.
class fa
    {
        public fa()
        {
            pri = 10;
            stpri = 200;
        }

        public int pub;
        private int pri;
        private static int stpri;
    }

    class ch : fa
    {
        public ch()
        {
            chPri = 5;
        }
        public int chPub;
        private int chPri;
    }

    class Program
    {
        static void Main(string[] args)
        {
            ch c = new ch();
            c.chPub = 2;
            c.pub = 3;

            Type t = c.GetType();
            Type tfa = t.BaseType;

            FieldInfo[] fis = t.GetFields(BindingFlags.NonPublic | BindingFlags.Static  | BindingFlags.Instance);
            foreach (FieldInfo fi in fis)
            {
                Console.WriteLine(fi.Name);
                //fi.SetValue(c, 20);
            }

        }
    }

좋은 웹페이지 즐겨찾기