C#反射学习(一)续

 /*主要通过罗列程序集中所有的对象来实现对反射可以获取的内容讲解 Brian 2008/01/21*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace ReflectionType
{
 public class Class1
 {
  [STAThread]
  static void Main(string[] args)
  {
   Console.WriteLine("列出程序集中所有类");
   Assembly Ably = Assembly.LoadFrom("ReflectionType.exe");
   Type[] tps = Ably.GetTypes();
   foreach (Type tp in tps)
   {
    Console.WriteLine(tp.Name);
   }

   Console.WriteLine("列出HelloWord中的所有方法");
   Type tpHelloWord = typeof(HelloWord);
   MethodInfo[] mInfos = tpHelloWord.GetMethods();
   foreach (MethodInfo mInfo in mInfos)
   {
    Console.WriteLine(mInfo.Name);
   }

   Console.WriteLine("列出HelloWord中的所有属性");
   PropertyInfo[] pInfos = tpHelloWord.GetProperties();
   foreach (PropertyInfo pInfo in pInfos)
   {
    Console.WriteLine(pInfo.Name);
   }

   Console.WriteLine("实例化Hello Word,并调用HelloWord方法");

   Object obj = Activator.CreateInstance(tpHelloWord);
   string[] sArray ={ "GMRBrian" };
   Object objName = Activator.CreateInstance(tpHelloWord, sArray);
   MethodInfo mSayHello = tpHelloWord.GetMethod("SayHello");
   mSayHello.Invoke(obj, null);
   mSayHello.Invoke(objName, null);
   Console.ReadLine();

   
 
  }

  
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值