映射部分using System.Reflection;

     public class L
    {
        static void Main()
        {

   #region  ZL1这里我们用映射获得类一里面的成员!            

Console.WriteLine("\n\n我们获取类一里面的成员!");            

  

          Type types = typeof(L1);  

           //获取字段!   

         //获取一个字段的方法   

          FieldInfo fid =types.GetField("name");

            Console.WriteLine("L1里面的字段:"+fid.GetValue(l));

            //获取两个字段的方法       

      FieldInfo[] fd = types.GetFields();

            for (int i = 0; i < fd.Length;i++)   

          {

                Console.WriteLine("连环输出:"+fd[i].Name);

            }

            Console.WriteLine();      

       //获取函数      

       Type[] tyl = new Type[2];      

       tyl[0]=typeof(string);

            tyl[1]=typeof (int);

                        ConstructorInfo HS =types.GetConstructor(tyl);

                      Console.WriteLine("构造函数输出:"+HS.ToString());

            //获取方法    

         MethodInfo ff = types.GetMethod("F1");

            Console.WriteLine("输出方法:"+ff);  

           Console.WriteLine("\n\n我们获取类一里面的成员!");            

#endregion

            //--------------------------------------------------------------------------------------------------------------------

 

 

 

            #region  

   L2这里我们获取类而里面的成员            

Console.WriteLine("\n\n利用映射获取类而里面的成远!\n\n");

            //获取类二里面的字段!    

         Type tp2=typeof (l2);

            Console.WriteLine("类二的名称:{0}",tp2.Name);

            FieldInfo[] getf = tp2.GetFields();   

          Console.WriteLine("将两个字段同时输出:\n\n");       

      for (int i = 0; i < getf.Length; i++)            

{

                Console.WriteLine("字段输出:"+getf[i].Name);

              

          }

            //获取类2里面的方法     

MethodInfo mf = tp2.GetMethod("F2");

     Console.WriteLine("方法输出:"+mf);    

         //获取类2里面的构造函数      

      Type [] tp=new Type [2];  

          tp[0]=typeof (string );

            tp[1]=typeof (int);   

          ConstructorInfo cn = tp2.GetConstructor(tp);    

         Console.WriteLine("类2里面的构造函数:"+cn);

            #endregion        

}

 

    }

    public class L1  

   {  

       //字段!    

     public string name;    

     public int age;   

      //构造函数      

   public L1()      

   {   

          Console.WriteLine("类1的构造函数!");

        }  

       public L1(string name, int age)

        {

            Console.WriteLine("☆★●→" + name + "■■&▲" + age);      

   }  

       //方法  

       public string F1()

        {  

           return "欢迎:" + name + "!!!";

        }

    }  

   public class l2 : L1   

  {   

      public string a;   

      public int b;   

      public l2()

        {    

         Console.WriteLine("类2输出:");

        }

        public l2(string a, int b)   : base(a, b)    

     {  

           Console.WriteLine("利用构造函数输出在父类里面就可以输出了!\n\n");

            Console.WriteLine("从新" + a + "二遍输出:■■&▲" + b);

        }

        public void F2()       

  {  

           Console.WriteLine("传说中的:" + a + "\n\n");

        }

    }

转载于:https://www.cnblogs.com/woscxm/archive/2012/06/22/2558729.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值